@ibraheemdev is going to do some work on these, I just sketched out some parts to try to understand how things will fit together.