add foundation for functional tests for AbstractFactory