I think these should be abstract methods so the implementor has to implement them. i.e. no hidden surprises.