This is a public user interacting class so probably deserves a java doc