private void setupEventListners() {
		// Over
		super.addMouseOverEventListner(new EventListner() {
			
			@Override
			public void Invoke(Object sender, Event e) {
				if (graphic != down)
					graphic = over;
				if (mouseOver != null)
					mouseOver.Invoke(sender, e);
			}
		});
		// Down
		super.addMouseDownEventListner(new EventListner() {
			
			@Override
			public void Invoke(Object sender, Event e) {
				graphic = down;
				if (mouseDown != null)
					mouseDown.Invoke(sender, e);
			}
		});
		// Up
		super.addMouseUpEventListner(new EventListner() {
			
			@Override
			public void Invoke(Object sender, Event e) {
				graphic = over;
				if (mouseUp != null)
					mouseUp.Invoke(sender, e);
			}
		});
		// leave
		super.addMouseLeaveEventListner(new EventListner() {
			
			@Override
			public void Invoke(Object sender, Event e) {
				graphic = normal;
				if (mouseLeave != null)
					mouseLeave.Invoke(sender, e);
			}
		});
	}