add a factory to encapsulate creating a command processor - avoids named
parameter on ioc container issues