Change event.fire() so that it checks for callbacks before doing allocations.