ensure cache is busted when the dimensions change.
change signatures to work better with list-view

Bin(content) // still up in the air
position(index, binWidth);