A computer-implemented method performed by one or more processors of a computing system which includes a memory containing computer-executable instructions which cause the one or more processors to perform the computer-implemented method, and wherein the computer-implemented method generates a user interface control (200; 305; 401-404) capable of implementing any of several roles, and thereafter creating multiple instances of the user interface control in different processing flows, the computer-implemented method comprising: for each role that a particular user interface control (200; 305; 401-404) is to have, inputting to a creation module corresponding control creation data and a template selected from a plurality of templates, the template providing a plurality of role logic components enabling each of a plurality of roles to be instantiated from the template and a general function component for performing one or more general functions that are common to each instance of the user interface control instantiated from the template; creating a first instance of the user interface control that performs a first role in a first processing flow, said first role being implemented by a first role logic component from said plurality of role logic components, said first instance comprising the first role logic component and the general function component; creating a second instance of the user interface control that performs a second role different from the first role in a second processing flow, said second role being implemented by a second role logic component from said plurality of role logic components, said second instance comprising the second role logic component and the general function component; and wherein at least one of the general functions of the general function component is executable by each of the first and second user interface control instances to provide for communication between the first and second user interface control instances which then permits the first and second interface control instances to constitute a communications link (411-413,431-433) in which the second user interface control instance provides data requested by the first user interface control instance to the first user interface control instance. for each role that a particular user interface control (200; 305; 401-404) is to have, inputting to a creation module corresponding control creation data and a template selected from a plurality of templates, the template providing a plurality of role logic components enabling each of a plurality of roles to be instantiated from the template and a general function component for performing one or more general functions that are common to each instance of the user interface control instantiated from the template; creating a first instance of the user interface control that performs a first role in a first processing flow, said first role being implemented by a first role logic component from said plurality of role logic components, said first instance comprising the first role logic component and the general function component; creating a second instance of the user interface control that performs a second role different from the first role in a second processing flow, said second role being implemented by a second role logic component from said plurality of role logic components, said second instance comprising the second role logic component and the general function component; and wherein at least one of the general functions of the general function component is executable by each of the first and second user interface control instances to provide for communication between the first and second user interface control instances which then permits the first and second interface control instances to constitute a communications link (411-413,431-433) in which the second user interface control instance provides data requested by the first user interface control instance to the first user interface control instance.