Looks like we're only using Underscore for the each event. We could probably remove that dependency just by using CoffeeScript's [`for`](http://coffeescript.org/#loops) helper:

``` coffeescript
for eventName in docpad.getEvents()
  @[eventName] = (opts, next) =>
    if tasks = @getConfig()[eventName] or false
```