Returns a list of all available slots.
The list of slots must be static and must never change for a given class implementing this mixin.
Typically, an Enum is used to identify the different slots. In that case
this getter can be implemented by returning what the
of the enum used returns.
@protected Iterable<S> get slots;