Object-Oriented Design Choices