docs: public static String log(final String message) {
  
          final String ticket = String.valueOf(System.currentTimeMillis());
          // using a deferred command just to be more responsible
          // since we do not expect any feed back from it
          Scheduler.get().scheduleDeferred(new ScheduledCommand() {
  
              /**
               * @see com.google.gwt.user.client.Command#execute()
               */
              public void execute() {
  
                  getLoggingService().log(ticket, message, new AsyncCallback<Void>() {
  
                      /**
                       * @see com.google.gwt.user.client.rpc.AsyncCallback#onFailure(java.lang.Throwable)
                       */
                      public void onFailure(Throwable caught) {
  
                          // logging failed, really bad
                          // but the only thing we can do is to ignore it
                      }
  
                      /**
                       * @see com.google.gwt.user.client.rpc.AsyncCallback#onSuccess(Object)
                       */
                      public void onSuccess(Void result) {
  
                          // logged successfully
                      }
                  });
              }
          });
          return ticket;
      }