Initial pass at new style Posts Controller 

Task details coming soon.

Until then this is NOT ready.
Why does this need to be sanitized? And should we expect that `context` always exists (and have a default value for it)?