public StatisticsDictionary(string working, IJSONSerializer ser) : this()
        {
            _working_dir = working;

            _data  = ser.Deserialize();
            _state = StatDictState.SHELL;
        }
        public StatisticsDictionary(string working) : this()
        {
            _working_dir = working;

            _data  = new Dictionary <string, StatItem>();
            _state = StatDictState.EMPTY;
        }
        public Dictionary <string, StatItem> GenerateSkeleton()
        {
            switch (_state)
            {
            case StatDictState.SHELL:
                return(_data);

            case StatDictState.EMPTY:
                _state = StatDictState.SHELL;
                return(AuxPopulateEmpty());

            case StatDictState.FULL:
            default:
                _data  = new Dictionary <string, StatItem>();
                _state = StatDictState.SHELL;
                return(AuxPopulateEmpty());
            }
        }