I think CPPSpatialPooler would be better. You could also re-purpose py and cpp to the new implementations and use oldpy for the old one. That would change the impl used in many places but that shouldn't be a problem (we would want to switch them eventually anyway).