Implement tests for other modules. Implement factory
class to help manage other components.