This is a semi ignore question, but I want to know if this is possible and if I could open a PR to fix. This is kind of an annoy behavior: ` def run(self, command: str, **kwargs: Any) -> Optional["Result"]:` It means I always have to check if its not None, but from what I understand the _only_ case where it will return None is if disown is set to True right? Is there a way to refactor so the response is always expected to return unless disown is set to true? Maybe just a super simple class hierarchy where the base Runner class has everything but there are two children: DisownedRunner and OwnedRunner? And then DisownedRunner runner is the only one that is potentially None? Thanks! I'm asking more what it would take to fix so I can open a PR more than just asking for this to be fixed, I'd like to contribute!