This is kind of difficult to review at the moment, since it's spread out across several commits. We avoid fixup commits or intermediate commits that change the approach in Wine, since they're hard to review, and relatedly hard to read when committed. In this case I believe commits 1, 2, 3, 4, 6 can and should all be squashed together.