Package rework + Ensure all events are serializable/deserializable and implements equals based on purely random check + plug unit of work