@edvin what do you think about having him return an IRCClient object from the runAsync and setting it to a field in the ui() method? Then you could use that to prevent a disconnect Of an unconnected object. Also he can bind runningProperty to something to track things in transit