Moderate refactoring & renaming. Also added a new category method on NSArray, -[NSArray compareToArray:withKey:]