first commit. Using the KjellKod g3log's approach for wrapping ANY object and making it asynchronous.

Using the sutter approach as well so that its up to the coder to pick the right tool for the job