Split commands into modules; give them their own parsers.