!function() {
  'use strict';

  angular.module('crumble', ['ngRoute'])
    .factory('crumble', function ($location, $route, $interpolate) {
      var context;

      var crumble = function (ctx) {
        context = ctx;
        return build($location.path());
      };

      var build = function (path) {
        return !path ? [] : build(crumble.getParent(path)).concat(crumble.getCrumb(path));
      };

      crumble.getParent = function (path) {
        return path.replace(/[^\/]*\/?$/, '');
      };

      crumble.getCrumb = function (path) {
        var route = find($route.routes, function (route) {
          return route.regexp.test(path);
        });
        return {
          path: path,
          label: $interpolate(route.label)(context),
        };
      };

      var find = function (obj, fn, thisArg) {
        for (var key in obj) {
          if (obj.hasOwnProperty(key) && fn.call(thisArg, obj[key], key, obj)) {
            return obj[key];
          }
        }
      };

      return crumble;
    });

}();

@@ -157,26 +157,153 @@
 xt;%0A
-%0A      var crumble
+      var trail = %5B%5D;%0A      var crumble = %7B%0A        getTrail: function () %7B%0A          return trail;%0A        %7D,%0A      %7D;%0A%0A      crumble.setContext
  = f
@@ -349,23 +349,29 @@
         
-return 
+angular.copy(
 build($l
@@ -384,16 +384,24 @@
 n.path()
+, trail)
 );%0A     

Drop function only style for being more angular