Hierarchical pool based memory allocator with destructors
