We are writing a framework around the AbstractAssembler interface. However, we need to throw different database exceptions so the client can get a decent error message about what went wrong. This was not a problem when writing sync functions because they were not tied to a specific interface. When we extend AbstractAssembler, the compiler does not let us implement methods which throw any exceptions. There should be a mechanism for sending an intelligent error message from the server back to the client.