code: def init_widget(self):
          
          if not self.widget:
              return
          super(AndroidSnackbar, self).init_widget()
  
          d = self.declaration
  
          #: Bind events
          self.widget.onClick.connect(self.on_click)
  
          #: Use the custom callback to listen to events
          callback = BridgedSnackbarCallback()
          callback.setListener(self.widget.getId())
          self.widget.onDismissed.connect(self.on_dismissed)
          self.widget.onShown.connect(self.on_shown)
          self.widget.addCallback(callback)
  
  
          #: if d.text: #: Set during creation
          #: self.set_duration(d.duration) #: Set during creation
          if d.action_text:
              self.set_action_text(d.action_text)
          if d.action_text_color:
              self.set_action_text_color(d.action_text_color)
          if d.show:
              self.set_show(d.show)
docs: Our widget may not exist yet so we have to diverge from the normal 
          way of doing initialization. See `update_widget`