Designing Reusable Classes | AMiner