@Override
	public void mouseTouched(Actor actor, GGMouse mouse, Point spot) {
		if (enabled && isRunning()) {
			boolean last = hover;
			boolean lastP = pressed;
			
			switch (mouse.getEvent()) {
			case GGMouse.enter: 
				hover = true;
				break;
			case GGMouse.leave: 
				hover = false;
				break;
			case GGMouse.lPress:
				pressed = true;
				break;
			case GGMouse.lClick: 
				clicked = true;
				break;
			case GGMouse.lRelease: // || dragEnded any where??
				pressed = false; 
				break;
			}
			
			if (last != hover || lastP != pressed) {
				// state changed
				createImage();
			}
		}
	}