lib/ctr-nodes/index.js
function(dataMap, target) {
      //dataMap
      let staticArgs = dataMap.get('static');
      let objectArgs = dataMap.get('obj');

      //transform/matrix helpers are objs so we need to check and processes
      //them before seting static to keep source order
      if (objectArgs.size) {
        if (objectArgs.has('transform')) {
          ({staticArgs, objectArgs} = _H.helperKeys.transform(objectArgs, staticArgs));
        }else if (objectArgs.has('matrix')) {
          ({staticArgs, objectArgs} = _H.helperKeys.matrix(objectArgs, staticArgs));
        }
      }
      //check for filter, can be string/array/obj
      const filter = staticArgs.has('filter') || objectArgs.has('filter');
      if (filter) {
        ({staticArgs, objectArgs} = _H.helperKeys.filter(staticArgs, objectArgs));
      }

      //add static, as in non-obj key pairs
      if (staticArgs.size) {
        //check and process helpers if present
        staticArgs = _H.helperKeys.processHelperArgs(staticArgs, target);

        //hardcoded helper, kinds hacker tied to #396
        if (staticArgs.has('__inheritProps__')) {
          //remove
          staticArgs = staticArgs.delete('__inheritProps__');
        }

        if (type !== 'style' || self.processStyle) {
          //apply static args
          self.indexMgr.set(staticArgs, target);
        }
      }
      //deflate check due to helpers like font-size: responsive
      if (_M._queue.deflateQueue.size) {
        _M._queue.deflateNext();
      }

      /*
      If gate for the real fun;
       */
      if (objectArgs.size) {

        //infinite loop saftey catch set
        self.processedHash = objectArgs.hashCode();

        /**
         * So the gist of this funk is its a wrapper funk for the passed in args.
         * I would take a look at whats happening below in the loop to get a better
         * idea of whats going on but we are just passing the keyArgs into this funk
         * @param  {str}  key     -> Key from the objectArgs
         * @param  {str}  keyList -> the regex ref in the _H.util
         * @param  {str}  plural  -> The plural name which will then cycle through
         *                           the cylceCallFn
         * @param  {fn}  funk     -> The funk which we will invoke if it passes the
         *                           if gate
         * @param  {bln} passKey  -> If we need to pass the key to the funk
         * @return {---}          -> A whole shit load could happen but nothing
         *                           is returned directly
         */
        const keyCheck = function (key, keyType, funk, passKey = true) {
          //test from list, check out the util
          if (_H.util.regularExp.keyTest(key, keyType)) {
            //checks for use key
            const data = self.doNotUse(objectArgs.get(key), keyType);
            if (!data) { return true; }
            //send off to be processed
            if (passKey) {
              funk(key, data, target, keyType);
            }else {
              funk(data, target, keyType, key);
            }
            return true;
          }
        };

        // The gist here is to cycle though all the object keys
        // and then sub cycle the above key funks to see if
        // we have a regex match. If we have a match processes said match
        // and return true so we can bust the loop and move on
        const keyArgs = [
          //single, plural, function
          ['grid',       processGrid, false],
          ['transition', processTrans],
          ['animation',  processAnim],
          ['media',      processMedia, false],
          ['state',      processState],
          ['non',        processElm],
          ['element',    processElm],
          ['attribute',  processAttr],
          ['component',  processComp]
        ];

        const keyList = objectArgs.keys();
        //cycle through keys and inkove fns to match regex
        for (let key of keyList) {
          for (let f = 0; f < keyArgs.length; f++) {
            const keyArg = keyArgs[f];
            //add key to the front of the line
            keyArg.unshift(key);
            const fnRes = keyCheck.apply(null, keyArg);
            //remove the key from the front of the line
            keyArg.shift();
            if (fnRes) {
              //remove key
              objectArgs = objectArgs.delete(key);
              //bust loop
              f += keyArgs.length;
            }
          }
        }
      }

      /**
       * Deflate and tmpl features before moving onto the next cycle
       */
      if (_M._queue.deflateQueue.size) {
        _M._queue.deflateNext();
      }

      return {
        objectArgs,
        target
      };
    }
function(dataMap, target) {
      //dataMap
      let staticArgs = dataMap.get('static');
      let objectArgs = dataMap.get('obj');

      //transform/matrix helpers are objs so we need to check and processes
      //them before seting static to keep source order
      if (objectArgs.size) {
        if (objectArgs.has('transform')) {
          ({staticArgs, objectArgs} = _H.helperKeys.transform(objectArgs, staticArgs));
        }else if (objectArgs.has('matrix')) {
          ({staticArgs, objectArgs} = _H.helperKeys.matrix(objectArgs, staticArgs));
        }
      }
      //check for filter, can be string/array/obj
      const filter = staticArgs.has('filter') || objectArgs.has('filter');
      if (filter) {
        ({staticArgs, objectArgs} = _H.helperKeys.filter(staticArgs, objectArgs));
      }

      //add static, as in non-obj key pairs
      if (staticArgs.size) {
        //check and process helpers if present
        staticArgs = _H.helperKeys.processHelperArgs(staticArgs, target);

        //hardcoded helper, kinds hacker tied to #396
        if (staticArgs.has('__inheritProps__')) {
          //remove
          staticArgs = staticArgs.delete('__inheritProps__');
        }

        if (type !== 'style' || self.processStyle) {
          //apply static args
          self.indexMgr.set(staticArgs, target);
        }
      }
      //deflate check due to helpers like font-size: responsive
      if (_M._queue.deflateQueue.size) {
        _M._queue.deflateNext();
      }

      /*
      If gate for the real fun;
       */
      if (objectArgs.size) {

        //infinite loop saftey catch set
        self.processedHash = objectArgs.hashCode();

        /**
         * So the gist of this funk is its a wrapper funk for the passed in args.
         * I would take a look at whats happening below in the loop to get a better
         * idea of whats going on but we are just passing the keyArgs into this funk
         * @param  {str}  key     -> Key from the objectArgs
         * @param  {str}  keyList -> the regex ref in the _H.util
         * @param  {str}  plural  -> The plural name which will then cycle through
         *                           the cylceCallFn
         * @param  {fn}  funk     -> The funk which we will invoke if it passes the
         *                           if gate
         * @param  {bln} passKey  -> If we need to pass the key to the funk
         * @return {---}          -> A whole shit load could happen but nothing
         *                           is returned directly
         */
        const keyCheck = function (key, keyType, funk, passKey = true) {
          //test from list, check out the util
          if (_H.util.regularExp.keyTest(key, keyType)) {
            //checks for use key
            const data = self.doNotUse(objectArgs.get(key), keyType);
            if (!data) { return true; }
            //send off to be processed
            if (passKey) {
              funk(key, data, target, keyType);
            }else {
              funk(data, target, keyType, key);
            }
            return true;
          }
        };

        // The gist here is to cycle though all the object keys
        // and then sub cycle the above key funks to see if
        // we have a regex match. If we have a match processes said match
        // and return true so we can bust the loop and move on
        const keyArgs = [
          //single, plural, function
          ['grid',       processGrid, false],
          ['transition', processTrans],
          ['animation',  processAnim],
          ['media',      processMedia, false],
          ['state',      processState],
          ['non',        processElm],
          ['element',    processElm],
          ['attribute',  processAttr],
          ['component',  processComp]
        ];

        const keyList = objectArgs.keys();
        //cycle through keys and inkove fns to match regex
        for (let key of keyList) {
          for (let f = 0; f < keyArgs.length; f++) {
            const keyArg = keyArgs[f];
            //add key to the front of the line
            keyArg.unshift(key);
            const fnRes = keyCheck.apply(null, keyArg);
            //remove the key from the front of the line
            keyArg.shift();
            if (fnRes) {
              //remove key
              objectArgs = objectArgs.delete(key);
              //bust loop
              f += keyArgs.length;
            }
          }
        }
      }

      /**
       * Deflate and tmpl features before moving onto the next cycle
       */
      if (_M._queue.deflateQueue.size) {
        _M._queue.deflateNext();
      }

      return {
        objectArgs,
        target
      };
    }
The plan for this fn is to cycle through the various
components, and then merge and res of said comps