public function store($id, $data, $maxLifetimeSeconds = null)
    {
        $creationTimestamp = time();

        if (null === $maxLifetimeSeconds) {
            $expirationTimestamp = null;
        } else {
            $expirationTimestamp = ($creationTimestamp + (int) $maxLifetimeSeconds);
        }

        $entry = new CacheEntry($id, $data, $creationTimestamp, $expirationTimestamp);

        $this->storage->store($entry);

        return $this;
    }