I think its quite close to behavior oriented programming, at least as defined by Brooks. Keep in mind his goal is robotics, which is very similar to games (or to say, a game is just a robotics simulation!).
I'm not really interested in the distinction between language-based vs. library-based extensibility: they are quite the same thing even if the syntax is different (and yes, language-supported extensions are definitely less flexible!). Also see adapter extension in Eclipse: every object supports the "HasAdapter, GetAdapter" interface, which allows for lots of dynamic extensibility.
Also, when you say "data," do you mean state? E.g., adding physics state to an object undergoing physics simulation. Any chance for data in the form of a lambda (basically, that would be virtual dispatch)?
I'm not really interested in the distinction between language-based vs. library-based extensibility: they are quite the same thing even if the syntax is different (and yes, language-supported extensions are definitely less flexible!). Also see adapter extension in Eclipse: every object supports the "HasAdapter, GetAdapter" interface, which allows for lots of dynamic extensibility.
Also, when you say "data," do you mean state? E.g., adding physics state to an object undergoing physics simulation. Any chance for data in the form of a lambda (basically, that would be virtual dispatch)?