>Once you have the matrix, they are pretty much identical in what they do with it. So would be helpful to pull that out into a private method. Something like self._applyMatrix(J).

Sounds good.  Created `._applyMatrix()` and used in `apply*` methods.