refactor a bit, om.core/set-state! needs to swap! with identity if path
empty in order to trigger re-render