modified: Factory, added: WorkspaceManager, modified functions to take in only model