Improve the CLI and allow for async error reporting.