Fix bug in UIBehavior; Refactor UIElement