Ok so I removed the caching here, but obviously that isn't the right way to go as that will cause multiple queries to fire unnecessarily when calling `.first` a bunch of times. I think the only option here is cache based on offset being passed into the private method.

Any other suggestions?