Refactor a lot of classes to adopt DocumentRepository handle Phrase as a Document. Made DocumentRepository.findDocuments(Profile) more flexible and easy to read.