This way it's easier for clients building on this library to handle errors and send them as response to the client