Base class for UI elements; todo: fix the ui-elem view so that it works