Addressing notes from John: better comments, preventing crash if "P" is not present and clearing the object in the CachedConverter to prevent misuse.