Yes, LocalChunkProvider. This allows a number of entities to be registered as needing a region of chunks kept "relevent" around them, with chunks falling out of that region eventually being unloaded as memory is needed.
It is written with vertical chunks in mind, although hard coded to work in...