public function getPromiseTestAdapter(callable $canceller = null)
{
$d = new Deferred($canceller);
return new CallbackPromiseAdapter(['promise' => [$d, 'promise'], 'resolve' => [$d, 'resolve'], 'reject' => [$d, 'reject'], 'settle' => [$d, 'resolve']]);
}