Suppose my pallet implements a trait
MyTrait so that it can be loosely coupled with another pallet. Suppose also that
MyTrait::my_function() makes storage modifications, which I would like to notify users of.
Is it okay to emit an event in the implementation of this function, even though it will only be called indirectly by other pallets? Will the event be visible in this case?