Software Agents: Completing Patterns and Constructing User Interfaces