def METHOD_NAME(
    self,
    link,
    after=None,
    before=None,
    visible_if=None,
    get_metadata=None,
    **kwargs
):
    if self._finalized:
        message = (
            "%s page was initialized already and no longer accepts new sections"
        )
        raise RuntimeError(message % self.name)
    if after and before:
        raise ValueError("after and before arguments are exclusive")
    kwargs.update(
        {
            "link": link,
            "after": after,
            "before": before,
            "visible_if": visible_if,
            "get_metadata": get_metadata,
        }
    )
    self._unsorted_list.append(kwargs)