Cereal integration

How about a base ModeEvent with ```std::string mode```, and then inherit ```ActivateMode```, ```DeactivateMode```, etc. from it?