Don't store stuff in `$self`. Return a hash reference with your information, and `return;` on errors.