remove callback API and use FutureCallback instead.