interface Call2<T>
abstract fun cancel(): Unit
abstract fun enqueue(callback: (Result<T>) -> Unit = {}): Unit
abstract fun execute(): Result<T>
class CallImpl2<T> : Call2<T>