Hm, I don't usually like having a method return on thing or another (unless it's an obj or None). Would it be too problematic to separate these in two methods, and assert in each of them that they are called with the expected `self._conn.components`?