Make protocol overridable