I've been able to use this library to achieve the following:

However this meant having to override any function that references contentView.frame.
It would be great to be able to have support for updating the offset using a closure rather than animating the content view frame...