fire("") safe to call, though no event