Add recommendToAnonymous and tests, along with refactorings of code and tests