I think this method `_apply_projector()` could be easily combined with the `apply_projector()` function. Is there a reason to have them be separate?