protected function cacheCommandMessage($message, $oldMessage, $cmdContext, $responses) {
        $duration = (int) $this->client->getOption('commandEditableDuration', 0);
        
        if($duration <= 0 || $cmdContext === null) {
            return;
        }
        
        if($responses !== null) {
            $this->results->set($message->id, $cmdContext);
            if($oldMessage === null) {
                $this->client->addTimer($duration, function () use ($message) {
                    $this->results->delete($message->id);
                });
            }
        } else {
            $this->results->delete($message->id);
        }
    }