Same as onEvent but only running once, by returning a Future.
Future<T> onceEvent<T extends Event>([ String? type ])=> onEvent<T>(type).first;