Am I thinking too far ahead wanting this to return a promise? I imagine this could be doing something with the theoretical data-layer asynchronously. I wouldn't want to have the API change at the point we do that, or would you expect us to have a rangeController specifically for managing data-layer backed collections?

I admit this might be over-thinking the problem.