no reason to cleanup the prompt twice, remove one cleanup trigger
new message system
install these late so Moose doesn't fuck them up with screen-high fatal errors
move the message handler installation earlier in the boot process
stringify messages in case they're fancy objects
ok, why isn't the parser loading my commands?  Cuz the path isn't set right
wrong location
use File::Find::Object instead of this hand-rolled poo
don't use s/// in a map {} it's not handy if it doesn't work
fork rebuild_parser and run it after() path() and prefix()
set version for example shell
ahh... why bother with ->path at all, when everything can be 'lib'
reorder includes
another package check
after() functions won't cut it, we don't actually change the arrayref
This keeps catching harmless evals{} that are sometimes intended to fail.

Crashes can be ugly... let's just live with it.
this is working, but my command module needs overloads
sweeper
You can use overloads if you don't namespace::autoclean — it's just a little too aggressive
stringify commands better