liveness: move dependent parts to allocator