Fixing tick handler & adding new validation code

Validations now have string reasons attached, which will make some
user-friendliness features easier to add.