Renamed the serialisers and added CustomEvents to unit test to be more future-proof
Rewrite some parts of CustomEvent Expose some API as dll entry