Calls the ``get_{{ table_name }}_data`` methods for each table class.

        When returning, the loaded data is set on the tables.

def load_table_data(self):
        """Calls the ``get_{{ table_name }}_data`` methods for each table class.

        When returning, the loaded data is set on the tables.
        """
        # We only want the data to be loaded once, so we track if we have...
        if not self._table_data_loaded:
            for table_name, table in self._tables.items():
                # Fetch the data function.
                func_name = "get_%s_data" % table_name
                data_func = getattr(self, func_name, None)
                if data_func is None:
                    cls_name = self.__class__.__name__
                    raise NotImplementedError(
                        "You must define a %(func_name)s method on"
                        " %(cls_name)s."
                        % {'func_name': func_name, 'cls_name': cls_name})

                # Load the data.
                table.data = data_func()
                table._meta.has_prev_data = self.has_prev_data(table)
                table._meta.has_more_data = self.has_more_data(table)
            # Mark our data as loaded so we don't run the loaders again.
            self._table_data_loaded = True