I really enjoyed this and learned from it. As a Designer/Dev, it’s great to see classical design principles integrated into the architecture of a library. I have been meaning to dive into D3 forever. With 4.0, as you describe it here, I think it’s finally time. Thanks!