class ExposedThingEvent extends ThingEvent<T> {

    public Observable<Optional<T>> observer() {
        return state.getSubject();
    }

    public  ExposedThingEvent(String name, ThingEvent<T> event);
      ExposedThingEvent(String name, EventState<T> state);

}