While working on !1767, !1827 and !1830 I felt the need for some code cleanup ...
I've had to rebase and re-work it a bit to get to a clean merge 🤞