Maintain list of executable commands.
Separate command and exec middleware, closes #33.