Added semicolons
Scope private variables
Pass parameters through url, correctly update

Basically let me refresh the page without losing my URL / device
settings.

Uses push state to update your address bar with parameters that
describe changes from the default state.