added virtual destructor to Event