Rationalize FireOutputCallbacks, and apply to remaining methods