refactored potential ominous "manager" class to a factory class.