half implemented conversion to use CollectionManager, for DRY and performance improvements
move towards using app.<collection>(); ensure we add new datasets to the collection so we get sync events
change the rest of the code to use app.tools() - we're still overfetching in some places but it's noticably faster
merge in new collection manager
app.tools() not window.tools