Почему переменная называется cache если ее значения не используюстя? :) может быть calculated_hashes? И тогда это был бы просто Hash а не отдельный класс?