[cleanup] Use sliced module for better performance argument slicing, cleanup Event class a bit and improve code documentation