Object design refactored