+        mods.append(str(self.key))
+        return '[' + '+'.join(mods) + ']'
+
+    @property
+    def full_tooltip(self):
+        return self.tooltip + (' ' + self.hotkey_name if self.key else '')
+
+    def to_dict(self):
+        return {
+            'label': self.label,
+            'tooltip': (self.tooltip or '') + self.hotkey_name(),
+            'key': self.key,
+            'key_mod': self.key_mod,
+            'params': self.params,
+            'scriptlet_id': self.scriptlet_id
+        }
+