events must use method instead of constructor interface