I looked for this in the docs and on google and I couldn't find it, so I figured it might be worth sharing. To extend the command object, create a class that derives from command and then override the CreateCommand method in WorkItem. In the CreateCommand method just create and return a new instance of your specialized command object.