Refactor async implementation
Merge pull request #82 from ticosax/refactor-async-support

Refactor async implementation