factory classes for instantiation of entities -> modularization, interface-oriented design