use tokio::sync::oneshot;
use eyre::Result;
enum InternalEvent {
}
enum EventKind {
Message,
Internal(InternalEvent),
struct Event {
kind: EventKind,
result_channel: oneshot::Receiver<Result<()>>,