This time, I chose to implement it using React, Redux and ImmutableJS. I really enjoyed the functional nature of this stack — state management is so much simpler and predictable this way.
M. Veit, and S. Herrmann. AOSD '03: Proceedings of the 2nd international conference on Aspect-oriented software development, page 140--149. New York, NY, USA, ACM, (2003)