With all that casting, it'd be nice to pull out `self.superview` into its own `UIScrollView` local variable to make this more readable.