public CommandDefinitionBase GetCommandDefinition(Type commandDefinitionType)
{
CommandDefinitionBase commandDefinition;
if (!_commandDefinitionsLookup.TryGetValue(commandDefinitionType, out commandDefinition))
commandDefinition = _commandDefinitionsLookup[commandDefinitionType] =
_commandDefinitions.First(x => x.GetType() == commandDefinitionType);
return commandDefinition;
}