DoAsync partially added, one part of #21 worked on now :D