I'd go for subclassing. Make your elements derived from a common base class with virtual methods and delegate the model's methods to items using virtual methods.