This is still kind of a work in progress because it will be the backend to a slab allocator, which in turn is managed by kmalloc().