This reverts most of commit 520dd5ce02, because it is now handled by wlroots. The iterator -> callback renames have been kept in place.
520dd5ce02