I think the indentation here (if not at the beginning of a line, indented more than else) makes this hard to follow.

What about doing something like this?

```coffee
events = @events
if events.length > 1
  events = _.sortBy @events, (e) -> e.timeout
  event_pairs = _.zip events, _.rest(events).concat [_.last events]
  _.reduce event_pairs, (acc, [event, next_event]) ->
    acc.concat _.extend event, timeout: next_event.timeout - event.timeout
  , []