We sometimes create CustomFilterProgramInfo objects just to transport data that we could get off of CustomFilterProgram. This seems unnecessary. CustomFilterProgramInfo should only be used as the hash key for caching CustomFilterProgram(s).