public function getData() { $data = $this->getDataFromCacheIfNotStale(); if ($data === false) { $data = $this->getDataFromSource(); $this->cacheData($data); } else { unset($data['expiration']); } return $data; }