Good, I think we have an intermediate agreement on the scope and significance of the changes we want to make. I suggest creating separate discussion streams and calls for each of the suggested topics so that:
- It is clear for the community what is the motivation of the stream (this includes both functional targets and technical debt issues pointed out by Sergey) - Who is planning to take an active part in each of the streams (i.e. the 'design committee', as Sergey suggested) - What are the intermediate and final goals for each of the streams - What are the cross-stream interactions and how we integrate them - How each of the streams will be integrated with the current codebase based on the above (here is where we will see whether drop-in or incremental approaches make more sense)