This tries to memorialize the mechanism that @Diziet and I came up with and memorialized on #1634. Once this is merged I can implement it.