ticket3: Created Request model + tests for anticipated middleware
ticket3: Middleware is implemented. Tests pass.
ticket3: Test fix if middleware is unplugged.
Merge branch 't3'