Adapt better to scalars; write __getitem__ using self.components