Estimado, como te comenté al principio, intenta hacer un diseño de clases usando UML y luego lo discutimos. No concibo hablar "en el aire" de diseños sin usar diagramas (es como discutir construir un edificio sin planos).
Luego que lo hagas, con gusto lo reviso.
PD: si no sabes UML,
buen momento para aprender, no es nada difícil (y ayuda mucho a ordenar las ideas).