#pragma once
#include "Event.h"
#include "EventListener.h"

class EventEmitter {
public: 
  void Subscribe (EventListener& subscriber);
  void Unsubscribe(EventListener& subscriber);
  void EmitEvent(Event& incident);


protected:
  std::list<EventListener*> subscribers;


  EventEmitter();

};