--[[
    Checks call backs on transition from, to, and calls them if they exist.
]]

function StateHolder:_callTransitionCallbacks(from, to)
	local globalCallback = self._callbacks.global

	if globalCallback then
		local globalLeave = globalCallback.onLeave
		local globalEnter = globalCallback.onEnter

		if globalLeave then
			globalLeave(self, from, to)
		end

		if globalEnter then
			globalEnter(self, from, to)
		end
	end

	local fromCallbacks = self._callbacks[from]

	if fromCallbacks and fromCallbacks.onLeave then
		fromCallbacks.onLeave(self, from, to)
	end

	local toCallbacks = self._callbacks[to]

	if toCallbacks and toCallbacks.onEnter then
		toCallbacks.onEnter(self, from, to)
	end
end
