def tasks(self, pattern=None, negate=False, state=None, limit=None, reverse=True,
              params=None, success=False, error=True):
        request = clearly_pb2.FilterTasksRequest(
            tasks_filter=clearly_pb2.PatternFilter(pattern=pattern or '.',
                                                   negate=negate),
            state_pattern=state or '.', limit=limit, reverse=reverse
        )
        for task in about_time(ClearlyClient._fetched_callback, self._stub.filter_tasks(request)):
            ClearlyClient._display_task(task, params, success, error)