<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def attach_remote(self, id, name, **kwargs):
 """ create remote instance of widget Arguments: - id (str):
 widget id - name (str):
 widget type name Keyword Arguments: - any further arguments you wish to pass to the widget constructor """


        client_id = id.split(".")[0]

        widget = self.make_widget(
            id,
            name,
            dispatcher=ProxyDispatcher(
                self,
                link=getattr(self.clients[client_id], "link", None)
            ),
            **kwargs
        )
        self.store_widget(widget)
        self.log_debug("Attached widget: %s" % id)