plus() & minus() shows errors is the value is not integer
Refactoring. No copy-paste code.
Refactoring. Less code, better error messages.
Testing that all the values that are passed to new() are in the correct ranges
Correct checks for the max day
Better description what is needed to run this module