If you're building a project from scratch, I think you have to be more ruthless with your time than your objects. In the early stages of a product it's easy and cheap to refactor if you find your devspeed slowing down because of poor coding choices you've made.