Issue #85: changed to interface; added ConcreteStepper and DefaultStepper

Also reduced various classes to package visibility