Perhaps the ```entity class``` can create in a separate factory, too?