public void Loop(Event <TA> eventOut) { if (this.eaOut != null) { throw new Exception("EventLoop looped more than once"); } this.eaOut = eventOut; EventLoop <TA> me = this; AddCleanup( eventOut.Listen_( Node, new TransactionHandler <TA> { Run = (trans, a) => me.Send(trans, a) })); }