Add date validation, future date support, JSDoc