Make it so notifyDeferred actually _always_ throws exceptions and handle them in the places it is called.