<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def as_bookmark_class(xso_class):
 """ Decorator to register `xso_class` as a custom bookmark class. This is necessary to store and retrieve such bookmarks. The registered class must be a subclass of the abstract base class :class:`Bookmark`. :raises TypeError: if `xso_class` is not a subclass of :class:`Bookmark`. """


    if not issubclass(xso_class, Bookmark):
        raise TypeError(
            "Classes registered as bookmark types must be Bookmark subclasses"
        )

    Storage.register_child(
        Storage.bookmarks,
        xso_class
    )

    return xso_class