make unsupported protected
decorate each GORM promise invocation with a new session bound to the thread
add 'task' method for batching up multiple GORM calls within an asynchronous process