def log(self, type, message, path=None):
    """
    adds a new log to the object. If self.logs list does not exist its being added
    """
    if hasattr(self, 'logs'):
        self.logs.append((type, message, path))
    else:
        self.logs = [(type, message, path)]
    return True