I think you can re-architect this to be parallel by using pipes for the intermediate handlers and running them each in a goroutine.