Abstracted base class