For both Collection and CollectionView we would need to have an ability to have group. In CollectionView, @SanghyeonLee is proposing to have a hierarchy of model so that one level will be group and all the child will be the normal item. This simplify lookup speed for the previous/next Group head. The question is how to expose that information to the PositionManager to get the Group header correct.
Group header are floating, but still accounted in the vertical size of the scrolled item. There is so many way to express the relation between Parent and Children. I am thinking that maybe adding another function callback that return index range for Group would be a solution. Basically you would know that from index i to i + n, they depend on a specific Group and so on. Any idea?