Introduce a base Composite field class