Before/After replaces Pre/Post

- replace “pre” and “post” with “before” and “after” respectively
- also break middleware into modules