Is this specific to EDF? I'm afraid we create sub-class hell