protected static function get_definition_stat_id_and_mode($definition) {
        if (!($definition instanceof cache_definition)) {
            // All core calls to this method have been updated, this is the legacy state.
            // We'll use application as the default as that is the most common, really this is not accurate of course but
            // at this point we can only guess and as it only affects calls to cache stat outside of core (of which there should
            // be none) I think that is fine.
            debugging('Please update you cache stat calls to pass the definition rather than just its ID.', DEBUG_DEVELOPER);
            return array((string)$definition, cache_store::MODE_APPLICATION);
        }
        return array($definition->get_id(), $definition->get_mode());
    }