/// Returns the set of all properties in the collection
virtual const properties_t& properties() = 0;
/// Connects a slot to a signal emitted whenever the collection changes - note: the signal is emitted when the collection changes (properties are registered and unregistered), not when individual property values are changed