+ \r
+ /**\r
+ * Register a given callback to be shared by one or more focusable part.\r
+ * @param callback {Function} A callback function\r
+ * @param focusablePartId {String} A string identifiing a focusable part. At the moment, it can only be "view:viewId"\r
+ */\r
+ registerCallback : function(callback, focusablePartId){\r
+ this.callbacks[focusablePartId] = callback;\r
+ },\r
+ /**\r
+ * Return all the registered callbacks for this command.\r
+ * @return {Map} A map of callback, viewId => callBack.\r
+ */\r
+ getCallbacks : function(){\r
+ return this.callbacks;\r
+ },\r
+ /**\r
+ * Remove a callback for a given focusable part.\r
+ * @param focusablePartId {String} A id like "view:viewId".\r
+ */\r
+ removeCallback : function(focusablePartId){\r
+ if(this.callbacks[focusablePartId]){\r
+ delete this.callbacks[focusablePartId];\r
+ }\r
+ }, \r
+ \r