Validator Component inspired by https://github.com/symfony/validator