code: public static NessEvent createEvent(@Nullable final UUID user,
                                          @Nullable final DateTime timestamp,
                                          @Nonnull final NessEventType type,
                                          @Nullable final Map<String, ? extends Object> payload)
      {
          return new NessEvent(user, timestamp, type, payload, UUID.randomUUID());
      }
docs: Create a new event.
  
  @param user      User that the event happened for. Can be null for a system level event.
  @param timestamp The time when this event entered the system
  @param type      The Event type.
  @param payload   Arbitrary data describing the event.