* dispatch cancel with tests
* making datastore thread safe (single instance of concurrent access found during unit tests)
* clean up GAI::getInstance