Rename update-reachable to walk-object
Add load-hook support
Make substitute optional in walk-object