private CommandFactory()
{
_commands =
AppDomain.CurrentDomain.GetAssemblies()
.SelectMany(assembly => assembly.GetTypes())
.Where(type => typeof(CommandBase).IsAssignableFrom(type))
.Where(type => !type.IsAbstract)
.Select(type => (CommandBase) Activator.CreateInstance(type))
.ToList();
}