public function load(Aspect $aspect)
{
$refAspect = new ReflectionClass($aspect);
$fileName = $this->cacheDir . '/_aspect/' . sha1($refAspect->getName());
// If cache is present and actual, then use it
if (file_exists($fileName) && filemtime($fileName) >= filemtime($refAspect->getFileName())) {
$loadedItems = $this->loadFromCache($fileName);
} else {
$loadedItems = $this->loader->load($aspect);
$this->saveToCache($loadedItems, $fileName);
}
return $loadedItems;
}