public override void Execute(IServerConnection serverConnection) { if (Done) { return; } if (!Who.IsOnline) { SetDone(); return; } switch (What) { case CalloutType.Message: Who.Message(Message); break; case CalloutType.Error: Who.Error(Message); break; default: break; } Done = true; }