Proper class design