It seems in the original CGameManager::update, and thus frameMessage,
is called at an ultra high rate, allowing the dispensor's counter to
quickly reach a trigger level. Whereas in the ScummVM implementation,
the update method is only called at most a few times per frame.
Rather than needlessly increasing the rate the update method is called,
I've refactored CBilgeDispensorEvent to not need the counter. Though
it still derives from CAutoSoundEvent so savegame loading still works.
This is necessary for at least message sending, and probably other
areas, that needs to be able to pass class filtering for message
targets. And I could figure out a clean way to use the built-in RTTI