Do we remove on all exceptions? E.g. what if the developer callback throws?