/*
* ------------------------------------------------------------------------
* Manage a collection of PMTs -> memory wise
*
* When a PMT reference count becomes zero, the pmt and contents is deleted.
* With a manager, the PMT will not be deleted, but released to the manager.
* Then, the PMT can be acquired again for re-use by the user.
*
* This offers 2 benefits:
* - Avoids expensive memory allocation overhead (re-use is key)
* - An upstream producer can block until resources become released
* ------------------------------------------------------------------------
*/