code: function parseFilterTypes(filters)
    {
      if(typeof filters === 'string') filters = getfilters(filters);
      
      var filterObj = {
            filters:[],
            vmFilters:[],
            model:[],
            local:[],
            session:[]
          },
          x = 0,
          len = filters.length,
          filter;
      
      for(x;x<len;x++)
      {
        filter = filters[x];
        
        if(filter.match(__matchVFilters))
        {
          filterObj.vmFilters.push(filter.replace(__replaceVFilters, ''));
        }
        else if(filter.match(__matchStoreFilter))
        {
          if(filter.indexOf('~') !== -1) filterObj.model.push(filter.replace(__replaceStoreFilter, ''));
          if(filter.indexOf('+') !== -1) filterObj.local.push(filter.replace(__replaceStoreFilter, ''));
          if(filter.indexOf('-') !== -1) filterObj.session.push(filter.replace(__replaceStoreFilter, ''));
        }
        else
        {
          filterObj.filters.push(filter);
        }
      }
      
      return filterObj;
    }
docs: /* takes a filters array and parses out specials, eg: (vmFilter),[(~|+|-)storename]
  EXAMPLE::
  string: "["toUpperCase","(duplicate)","[~model.key]"]"
  return: {filters:["toUpperCase"],vmFilters:["duplicate"],model:["model.key"],local:[],session:[]}