@Override
 @Transactional
 public AuthorDeletedEvent deleteAuthor(DeleteAuthorEvent deleteAuthorEvent) {
   return authorDAO.deleteAuthor(deleteAuthorEvent);
 }
 @Override
 @Transactional
 public AuthorUpdatedEvent updateAuthor(UpdateAuthorEvent updateAuthorEvent) {
   return authorDAO.updateAuthor(updateAuthorEvent);
 }
 @Override
 @Transactional
 public AuthorEvent requestAuthorWithBooks(RequestAuthorEvent requestAuthorEvent) {
   return authorDAO.getAuthorWithBooks(requestAuthorEvent);
 }
 @Override
 @Transactional
 public AllAuthorsEvent requestAllAuthors(RequestAllAuthorsEvent requestAllAuthorsEvent) {
   return authorDAO.listAuthors(requestAllAuthorsEvent);
 }
 @Override
 @Transactional
 public AuthorCreatedEvent createAuthor(CreateAuthorEvent createAuthorEvent) {
   return authorDAO.addAuthor(createAuthorEvent);
 }