The general rule is that at no time must callbacks be removed from the AsyncTCP object while the object is still live. Clients expect this from the AsyncTCP library.