- #276: let
StuntBuilderaccept behaviors asFunc<IStuntBehavior>factories, so each built stunt gets fresh behavior instances instead of sharing them. - Follow-up comment: additionally, if a registered behavior implements
ICloneable, clone it per built stunt viaClone()— a convention-based opt-in next to the explicit factory mechanism.
Both solve the same problem: StuntBuilder currently shares behavior instances across every stunt it creates, which is wrong for stateful behaviors (e.g. the property-change notification behavior in #270, which needs per-instance subscriber lists).