Kind of nit-picky, but the logic for dependency is in ```DependencyChecker``` but the message text (which is a user friendly explanation of the logic) is in the remove functions. Even though the conditions aren't likely to change enough, if they did you'd have to change it in more than one place. The closer the logic and the message are (ideally the same module) the better, I'd think.