More thought needed.
Correct crash caused by change to use exceptions
Rename load_tool to preload_tool to avoid confusion
Update tests for interface change
Notes for start of pocket work.