Application state in query string with bidirectional bindings

It's just a simple code that I was using in my many applications. After one more copy-paste, I thought it's time to extract it into a module :). It allows you to store simple application state in the query string, and notifies your application when state is changed. Hope you enjoy it :)!