Changed
* return type of `Validator` return type updated from `bool` to `Optional[str]`
* `is_valid` function updated to `validate`, return type updated from `bool` to `Optional[str]`
Fixed
* `BasicQuestion` constructor now respects the `validator` argument
* If `validator` callable provided, question will be asked until validator returns `True`