I disagree, I've come across several cases where front-end-only state need to be shared by components not naturally sharing some common parent component in which the state should reside.
Good point, but that'll be covered by Relay in near future, and is worth tolerating for now via temporary hacks. The RelayJS team is aware of its importance. Updated gist: