Simplify message output and change BaseCmd.setState to leave messages alone by default.