I guess this is potentially redundant with ``_validate_result``, however the differentiation is that the constructor is making sure the variables seem sane, while ``_validate_result`` is for interface specific validation