def get_game_text_subclass(bge, GameObject):
    """\
    Get a custom subclass of of KX_FontObject with similar characteristics to
    the KX_GameObject subclass returned by get_game_object_subclass().
    
    This is a function so that this file can be imported outside the context of
    Blender Game Engine. Pass as parameters:
    
    -   A reference to the bge module.
    -   The subclass returned by a previous call to get_game_object_subclass().
    """
    
    class GameText(bge.types.KX_FontObject, GameObject):
        pass

    # KX_FontObject is a very light subclass of KX_GameObject. It seems like it
    # should be possible to instiate a KX_GameObject subclass from an existing
    # KX_FontObject instance, but it isn't allowed. The existing KX_FontObject
    # instance must be passed to a KX_FontObject subclass.
    # The above declaration uses multiple inhertance to give the KX_FontObject
    # subclass all the extra methods in the KX_GameObject subclass without any
    # code.
    
    return GameText