Simplified check structures to allow for better UX :)

Check now is not templated but also not derived: the check struct instances have no common parent. The drawbacks are obvious, but it makes all derived structures much simpler and cleaner to use, see test example.