@Override
	public void engage() {
		super.engage();
		EventService evtSrv = EventService.getInstance(getCore());
		evtSrv.addListener(this, MouseButtonPressedEvent.TYPE_ID);
		evtSrv.addListener(this, MouseButtonReleasedEvent.TYPE_ID);
		evtSrv.addListener(this, MouseUpdateEvent.TYPE_ID);
		
		ResourceService resSrv = ResourceService.getInstance(getCore());
		this.normal = (SpriteVisual) resSrv.getResource(this.normalRes);
		this.selected = (SpriteVisual) resSrv.getResource(this.selectedRes);
		
		this.normal.setSize(getWidth(), getHeight());
		getBaseNode().addVisual(this.normal);
		this.selected.setSize(getWidth(), getHeight());
		getBaseNode().addVisual(this.selected);
		reset();
		this.mouseOver = false;
	}