Generalize LayoutCursor to work with any item