local function P(P,G)return function(w,...)if w==P then return G(P,...)else return G(P,w,...)end end end local function G(P,G,w)if P then return G else return w end end

local function bindSelf(self, method)
	return function(firstArg, ...)
		if firstArg == self then
			return method(self, ...)
		else
			return method(self, firstArg, ...)
		end
	end
end

local function formatMessage(result, trueMessage, falseMessage)
	if result then
		return trueMessage
	else
		return falseMessage
	end
end
