I don't think we should create a dependency on the Uize.Widget.CollectionItem base class in this module. Uize.Widget.Collection shouldn't care that item widgets inherit from this base class and should only care that they implement the interface. Therefore, it might be better to define a property on the Uize.Widget.CollectionItem base class, such as isCollectionItem. This property can be regarded as part of the collection item interface. If any other collection item class wants to implement the interface not using the Uize.Widget.CollectionItem base class. In future, we'll formalize the notion of interfaces. For now, let's do it duck-type like with an isCollectionItem property.