* Check through all managed objects and properly refcount them using shared_ptr. * Ensure that we comb through the current code and enforce the distinction between user errors and program exceptions. * As it is currently, all async sequences execute on the calling thread fully, instead of being posted to the thread which ought to service them. Enforce the actual use of the Mind threads by posting async messages to their appropriate threads. * Check all implementations of callOriginalCb to ensure that they std::bind their callbacks if being posted. * We're now getting to the point where we must implement locking. Go through the driver libs and give them locking.