Switched to events for handling the request dispatch
Updated the error handling