Issues with the object-oriented design