A generalized GUI system that uses adapter patterns for interaction.