There's quite a few proposals and changes in the design page. IMO it would be easier to merge the implementation if we split it in different parts.