Remove data structures
Add local gen_event.ex
Add protocol and update gen_event