local reserved = 0

local function reserve()
	reserved += 1
	return reserved
end

-- If you don't like passing around a world singleton
-- and you need to register component IDs, just register them.
-- I dont use this because I like adding component traits
--[[
    local components = {
        Model = registry.reserve(),
        Transform = registry.reserve(),
    }

    local world = registry.register(jecs.World.new())
    local e = world:entity()
    world:set(e, components.Transform, CFrame)
]]
local function register(world)
	for _ = 1, reserved do
		world:component()
	end
	return world
end

return {
	reserve = reserve,
	register = register,
}
