protected function _createData(callable $func): array
    {
        $data = \call_user_func($func);
        if(!\is_array($data) && !$data instanceof \Traversable) {
            return []; //ignore invalid results
        }
        $return = [];
        foreach($data as $key => $value) {
            $return[$key] = [
                'value' => $value,
                'expires' => null
            ];
        }
        return $return;
    }