fix watchers closing

iterated array should never be modified during iteration