No se como llevaras el codigo.. pero sobre lo que explicaste necesitas aplicar Herencia, extender la clase, quizas aplicar el diseño de pratón Factory , asi instaciar las demas clases a una clase padre..
Lo que no entiendo por que desde modulo Pedidos necesitar crear un Producto? y lo de verificar si hay stock podria ser propio de Pedidos.
Si expones codigo, hacelo resumido y vemos, haber si otros quieran meterse, no todos pensamos igual y puede aplicarse diferentes ideas
.