Search the list of stops, optionally in a direction (inbound or outbound),
        for the term passed to the function. Case insensitive, searches both the
        stop name and ID. Yields a generator.
        
        Defaults to both directions.

def find_stop(self, query, direction=""):
        """
        Search the list of stops, optionally in a direction (inbound or outbound),
        for the term passed to the function. Case insensitive, searches both the
        stop name and ID. Yields a generator.
        
        Defaults to both directions.
        """
        _directions = ["inbound", "outbound", ""]
        direction = direction.lower()
        if direction == "inbound":
            stops = self.inbound_stops
        elif direction == "outbound":
            stops = self.outbound_stops
        else:
            stops = self.inbound_stops + self.outbound_stops
        
        found = []
        for stop in stops:
            q = str(query).lower()
            if q in stop.name.lower() or q in str(stop.id).lower():
                found.append(stop)
        return found