function Input._checkDown(j,g,V)if not j:_isDown(g)then return end j._isMouseDown=V if not V then j.ButtonUp:Fire()end end function Input._checkMouseMoved(j,g,V)if not V and not j:_isMovement(g)then return end if not j._isMouseDown then j.MouseMoved:Fire(g.Position)else j.Dragged:Fire(g.Position,V)end end
-- Event Handlers
function Input:_checkDown(userInput, isDown)
	if not self:_isDown(userInput) then
		return
	end

	self._isMouseDown = isDown
	if not isDown then
		self.ButtonUp:Fire()
	end
end

function Input:_checkMouseMoved(userInput, isTouch)
	if not isTouch and not self:_isMovement(userInput) then
		return
	end

	if not self._isMouseDown then
		self.MouseMoved:Fire(userInput.Position)
	else
		self.Dragged:Fire(userInput.Position, isTouch)
	end
end
