Updated plan to use an instruction mapping instead of an if statement

This is the next step in #997 

cc @asmeurer @ilanschnell 
Cleaning out my task list and apparently I had overlooked a note I wrote to myself on this.  Beware of adding [test logic in productions][1] like the argument `_command`.  There's generally a better way to handle testing than add code that should only ever execute during a test.  In this case, one way is to mock `commands` (see [`mock.patch.object`][2]) to ensure it changes and behaves as expected without having to pass it explicitly in.

That said, this style of dependency injection isn't bad -- in this case the part that's off is documenting (and therefore testing) it like it's for test purposes only.

[1]: http://xunitpatterns.com/Test%20Logic%20in%20Production.html
[2]: http://www.voidspace.org.uk/python/mock/getting-started.html#patch-decorators