After #140 get merged, we will be able to use `async fn` in trait, and `async_trait` macro is no longer needed.