This is great and I restructured the code to look like this.  However using `Unspecifed` for sorting doesn't seem to work without also overloading `String` and `Date's` `<=>` operator.  I think it's less elegant but simpler to use a private method that returns a future date and time instead.