Currently, corral commands are passed to the Executor primitive along with a few other parameters that eventually effect what is being passed to the command's apply() method. This makes unit testing difficult as the parameters that are passed to the Executor are used for common checks across all commands before then being passed to the commands themselves.
A cleaner interface could look like initiating a CmdType with all (or most) of the parameters currently being passed to the Executor (and then subsequently to the CmdType apply()) or having separate CmdTypeInfo and CmdTypeAction traits that are initiated and will choose some of these parameters for you by default (e.g. the Logger).
Related to #138
Currently,
corralcommands are passed to theExecutorprimitive along with a few other parameters that eventually effect what is being passed to the command'sapply()method. This makes unit testing difficult as the parameters that are passed to theExecutorare used for common checks across all commands before then being passed to the commands themselves.A cleaner interface could look like initiating a
CmdTypewith all (or most) of the parameters currently being passed to theExecutor(and then subsequently to theCmdTypeapply()) or having separateCmdTypeInfoandCmdTypeActiontraits that are initiated and will choose some of these parameters for you by default (e.g. theLogger).Related to #138