made events immutable to ensure there was no ambiguity