traverse = function (attrib, callback, condition) {
        if (typeof attrib === 'function') {
            callback = attrib;
            for (x = 0; x <= last; x++) {
                if (!condition()) continue;
                self.bindToDomElement(collection[x]);
                if (false === callback(collection[x])) break;
            }
        } else {
            for (x = 0; x <= last; x++) {
                if (!condition()) continue;
                if (false === callback(collection[x].attribs[attrib])) break;
            }
        }
    }
Augments a collection of DOM elements with some helpful methods.

Methods:
    - filter(selector)
    - each(callback)  -OR-  each(attribute, callback)
    - first(), last(), even(), odd()
    - has(selector)

@param {Array} collection
@api public