Got each sub class working using the factory to instantiate.