function module.new()local G=setmetatable({},methods)G.ObjectPool=moduleObjectPool.new(OBJECT_POOL_SIZE)G.MessageCreators=GetMessageCreators()G.DefaultCreatorType=messageCreatorUtil.DEFAULT_MESSAGE_CREATOR messageCreatorUtil:RegisterObjectPool(G.ObjectPool)return G end function module.RegisterGuiRoot(h,G)messageCreatorUtil:RegisterGuiRoot(G)end function module.GetStringTextBounds(o,G,h,F,e)return messageCreatorUtil:GetStringTextBounds(G,h,F,e)end return module
--///////////////////////// Constructors
--//////////////////////////////////////

function module.new()
	local obj = setmetatable({}, methods)

	obj.ObjectPool = moduleObjectPool.new(OBJECT_POOL_SIZE)
	obj.MessageCreators = GetMessageCreators()
	obj.DefaultCreatorType = messageCreatorUtil.DEFAULT_MESSAGE_CREATOR

	messageCreatorUtil:RegisterObjectPool(obj.ObjectPool)

	return obj
end

function module:RegisterGuiRoot(root)
	messageCreatorUtil:RegisterGuiRoot(root)
end

function module:GetStringTextBounds(text, font, textSize, sizeBounds)
	return messageCreatorUtil:GetStringTextBounds(text, font, textSize, sizeBounds)
end

return module
