Feature/merge async interface

AsyncInterface should be merged to this library.