message: Docs for the EventEmitter class
diff: import {Disposable, Event} from 'extraterm-extension-api';
  -// FIXME docs
  -
  +/**
  + * An event emitter which can be subscribe to to hear when this event is fired.
  + */
  export class EventEmitter<T> {
  private _listeners: ((t: T) => void)[] = [];
  + /**
  + * Attach a listener to this event.
  + *
  + * @param listener the function to call when this event is triggered.
  + * @return a `Disposible` which when used disconnects this listener from the event.
  + */
  event: Event<T> = (listener: (t: T) => void): Disposable => {
  this._listeners.push(listener);
  return {
  @@ -21,6 +28,11 @@ export class EventEmitter<T> {
  };
  }
  + /**
  + * Fire the event to all listeners.
  + *
  + * @param t the payload of the event.
  + */
  fire(t: T): void {
  this._listeners.forEach(listener => listener(t));
  }
  