Refactor Commenter and CommentingPolicy classes

* move related responsibility into `CommentingPolicy` to improve reading flow