Complete rewrite of the command line monad and plugin monad. Reversing the arrow.