More consistent naming
Move default values to base class, so people subclassing have to implement less