Hi,
Apologies, yet I do not see how your approach promotes re-use, abstraction, encapsulation, or Typing of any sort. Despite your mention of design patterns, I do not see how it can, for example, be used to implement common patterns such as observer, visitor, or, most ubiquitously, singleton. Most importantly, I unclear how it helps me, in structuring code this way, reduce complexity or improve understanding.
I did download your notebook. Unfortunately, this was not enough to actually understand what it is that you are proposing and what advantages there are in contrast to other approaches. I think much might be understandable were there a more in-depth write-up similar to that others have posted when putting forth their proposals for approaching OO in Mathematica.
Regards,
Dave