Use an assert to detect abuse of contract instead of an exception.
Rename to Planner since that's a better representation of what it is.
Teensy tidying.
Another assert replacing an if statement.