Not sure the reason of this class is obvious - let's add some JavaDocs