This is my situation: Models can contain properties which can be models themselves. Each property can have custom behavior, this behavior must be selected through its name (for example: Versionable, Authorizable or something else). Developers must have the ability to add their own behaviors to the list with available behaviors.Each behavior is implemented in a class, but here is the catch: A model can implement zero or more behaviors. How to be sure that behaviors are being executed in the right manner (e.g. sequence) without breaking up things from other behaviors. I first would suggest that there would be list of supported behaviours, but since a programmer does not know for sure which other behaviors are possible, this does not seem to be a good option.
Adding behaviors to models without interference
modeling;aspect oriented;behavior