trait MtAsyncClosure<T>where T: Future<Output = Result<JsValue, JsValue>> + 'static, = FnOnce() -> T + Serialize + DeserializeOwned + 'static;