Decouple Builder from Middleware

- Request, Response, and Next are no longer passed into Builder
- Builder does not directly send any responses back to the client