Refactoring the contain-mapper slow-hydration cursor and implementing it in the core project for general use