This type of question calls for a (mostly) subjective answer, and is probably better suited for Software Engineering Stack Exchange. Make sure to consult their Help Center before asking as they have guidelines about how to ask "best practice" questions. — Knox9 secs ago
Hey, this isn't a good match for SO. Perhaps you should try the stack exchange site called Software Engineering instead? — Software Engineer46 secs ago
Your question, as it stands, is too broad for this site. This site really is intended for questions of the form, "I have this code... It does this... I thought it would do that... What am I misunderstanding?" Asking for others to help you decide the architecture of your program isn't really going to get much traction here. Maybe you could try the Software Engineering Stack Exchange site instead. — Solomon Slowjust now