Refactored object builder pattern