try {
CUIBaseEvent newEvent = Reflect.on(eventType.getEventClass()).create(this.controller, event.getParams()).get();
//Run the event. If doRun returns null, the event was successful.
//If it returns a string, it uses that as the error message.
String result = newEvent.doRun();
if (result != null) {
event.markInvalid(result);
} else {
event.setHandled(true);
}