This can be an `abstract class` along with its children.