Added UIObject abstract class