Here are my thoughts
Sometimes a View may want to be rendered multiple times
like the most straightforward way to update with new data is just to re-render the mustache template
So I figured that if a view did want to only be rendered once
it should store it's own data about whether it should be rendered again
and in it's .render() method, it may return early if it's already been rendered
So basically the ListView will call .render()
and each view can decide whether it should actually do work then
based on whether it's comfortable being rendered once, many times, or whatever