Article controller refactor 

Just wanted to merge this with master since completing this and spinning off more work from it.