public function inspect()
{
switch ($this->state) {
case self::PENDING:
return array('state' => 'pending');
case self::FULFILLED:
return array('state' => 'fulfilled', 'value' => $this->value);
case self::REJECTED:
return array('state' => 'rejected', 'reason' => $this->reason);
}
}