Emit error event rather than throwing if no failure callback present

To allow users of the library to handle errors in an event driven way