The use of the two methods is based on the const state of the caller, i.e. the method invoked for
this->InvokeEvent( SomeEvent() );
depends on whether this is const or not.
It may be desirable to have a different implementation for the const version or only implement the const version. In other cases, re-using the method with a const_cast is fine.