Refactored `start()` to accept a Function as a second parameter for custom error handling, refactored `request()` to throw an Error when no default domain is set and a custom route is not found