Loop through the descriptions (skipping topic)
function next() {
      var description,
          firstTopic = topicChain[0];
      for (description in context) {
        if (description !== 'topic' && context.hasOwnProperty(description)) {
          (function (description) {
            var item = context[description],
                itemType = typeof item;

            // If the description is beforeEach, execute it as such
            if (description === 'beforeEach') {
              return beforeEach(item);
            } else if (description === 'afterEach') {
              return afterEach(item);
            }

            // If the item is an object, it is a sub-context
            if (itemType === 'object') {
              // Describe and recurse the sub-context
              describe(description, function () {
                parseContext(item, topicChain);
              });
            } else if (itemType === 'function') {
            // Otherwise, if it is a function, it is a vow
              // If the item is async, handle it as such
              if (item.SKELETON_ASYNC === true) {
                it(description, function (done) {
                  item.call({'callback': done}, firstTopic);
                });
              } else {
              // Otherwise, evaluate it normally
                it(description, function () {
                  item(firstTopic);
                });
              }
            }
            // Otherwise, it is a promise
              // Mocha does not support promises
          }(description));
        }
      }
    }