I think right after the route is created, we could add the `dispatch` annotation. `dispatcher.dispatch()` returns a route handler function with a `dispatch` property, we could capture this return value and add the annotation here. I think this will be much clearer than adding the annotation it inside the `dispatcher.js`.

```javascript
var handler = dispatcher.dispatch(route.call);

app[verb](route.path, handler);
app.annotate(route.path, { dispatch: handler.dispatch });
```

Maybe there's some timing thing I'm missing, but this means you could remove the iteration over all the routes, the `init` state flag, etc from `dispatcher.js`.