major refactoring: separate more clearly commands/managers/remotes/models