Refactored Reviewer and added some tests.