code: func (w *Window) HandleEvent(event string, fn interface{}) (events.ThrustEventHandler, error) {
  	if fn, ok := fn.(func(CommandResponse, *Window)); ok == true {
  		return events.NewHandler(event, func(cr CommandResponse) {
  			fn(cr, w)
  		})
  	}
  	if fn, ok := fn.(func(EventResult, *Window)); ok == true {
  		return events.NewHandler(event, func(er EventResult) {
  			fn(er, w)
  		})
  	}
  	return events.ThrustEventHandler{}, errors.New("Function Signature Invalid")
  }
docs: /*
  Binding Event Handlers are a bit different than global thrust handlers.
  The Signature of the function you pass in is WindowEventHandler
  */