Make push idempotent

It doesn't feel very "React-like" to have to keep track of whether I've changed the URL already or not.