Controller - View approach

Closes #2 
Closes #10
Definitely belongs in `PostFilter`.