class PromiseProxy extends Promise<R> implements Message<T, R>, ActionHandle, ResultListener<R> {

    @NonNull
    @Override
    public ActionHandle then(@NonNull ResultListener<R> listener) {
        mListener = listener;
        mSender.deliver(this);
        return this;
    }

      PromiseProxy(@NonNull MessageSender sender, @NonNull Message<T, R> message);

}