Hint refactoring

I'm not sure what's going on with the git commits... I think I'm doing something wrong.

Anyway, this pulls out each hint into a different class as the GetHints method was getting unwieldy.