Refactor message handling to prevent having to iterate all EngineEffectChains.