I have the Customer entity, this entity has a huge list of attributes, so you are thinking in separate in small entities (for example: "basic info", "document", "declarations", etc). This approach will be used in the view layer, where the user can fill your info, step by step, making possible stop and comeback later. But I'm no sure if make sense to reflect this fragmentation in others layers. Because, we will have a lot of controllers in client and server side (since we are using express.js and angular.js). Follows an overview of the complexity in terms of fields, remembering each "partial" must be valid and once valid, it is saved in the database: <pre> - info for generate the customer -- name -- email - basic info -- dob -- gender -- hometown -- state -- country - phone info (just one phone) -- prefix -- phone number - bank info (can be more than one) -- bank -- agency -- account number - etc </pre> Any suggestions?