Refactor singleton model factory to template class.  Allows easier creation of object factories for each type.  Possibly bad idea?