General design questions like this are not really appropriate for Stack Overflow. It's closer to the subject matter of Software Engineering, but you'd probably have to ask more specific questions about why one design is better than another, rather than broad recommendations. — Barmar20 secs ago