As a general note, opinion-based software architecture questions like this are a better fit for the Software Engineering Stack Exchange (and you'll likely get better answers there). Please review what types of questions are on-topic there before posting there to make sure that your question is on-topic and contains all the required information. See Can I ask design-related questions on Stack Overflow? for why these questions are off-topic here. — Ryan M 37 secs ago