Use Shared pointer for eventdata