Added genericized walker and callback functions for operations
Slightly better error handling, added path to support database upgrade