replace inheritance with composition
make Parts enumerable and have size and each
factory to create parts from configs