... but it became so much spaghetti that I'm not eating any more pasta
for a while
seriously tho must be resolved, maybe moving this logic completely
serverside?
added Default derive to TextChange, added docs for poll and try_recv
methods, implemented new functionality in controllers, using a watch
channel (or reusing if available). Fixed global being always active and
wrongly imported when inactive.