Object Oriented Design Lessons