Hey @JackGruber, wanted to tell you that we now have a good idea of how this should be implemented, and I have started working on this.
@Daeraxa As we discussed earlier, I know that you wanted to see some parts implemented differently, but I hope you will like this way also.
The summary for this can be found in post below
Thanks all for your suggestions!