Comments, refactoring, added cancellation token to all async interfaces.