function ServiceBag.new(F)local B=setmetatable(BaseObject.new(),ServiceBag)B._services={}B._parentProvider=F B._serviceTypesToInitializeSet={}B._initializedServiceTypeSet={}B._initializing=false B._serviceTypesToStart={}B._destroying=Signal.new()B._maid:GiveTask(B._destroying)return B end

function ServiceBag.new(parentProvider)
	local self = setmetatable(BaseObject.new(), ServiceBag)

	self._services = {}
	self._parentProvider = parentProvider

	self._serviceTypesToInitializeSet = {}
	self._initializedServiceTypeSet = {}
	self._initializing = false

	self._serviceTypesToStart = {}

	self._destroying = Signal.new()
	self._maid:GiveTask(self._destroying)

	return self
end
