alright, do you prefer to do the removal inside the above loop with `watching -=` or as a for-yield and remove all afterwards with `watching --=`

doing the sendSystemMessage inside `filterNot` feels wrong