Description
Currently the listener registered on Controls is string based.
While simple to create it is harder to maintain as refactoring cannot be applied when renaming the method.
An alternative to the string based listener is to introduce a ActionListener object that encapsulates the callback, and a method, AbstractControl.setListener(ActionListener) which registers the listener on the control.
public class ActionListener {
public boolean onAction(Control control)
}