public Command GetCommand(CommandDefinitionBase commandDefinition) { Command command; if (!_commands.TryGetValue(commandDefinition, out command)) command = _commands[commandDefinition] = new Command(commandDefinition); return command; } }