I know it's not your fault, but this feels like a memory leak waiting to happen. I seriously think we should consider making this into a `std::unique_ptr` to prevent this.  Thoughts?