In the embodiments described above, UI components (e.g. buttons and check boxes) where given as examples of the types of components made available to a 4GL programmer, and for which the 4GL programmer is now able to specify non-default implementations.