Custom implementations can be used here. See here.
We need to think about the implementation of this. Add x.rotate and y.rotate. Figure out the offset.