updatePrefsFromAttribute(getAttribute(PREFS_ATTRIBUTE));
refreshParticipantInformation();
// HACK(anorth): This event routing should happen outside the widget.
ObservableConversation conv = (ObservableConversation) blip.getConversation();
conv.addListener(new WaveletListenerAdapter(blip, this));
log("Requesting Gadget metadata: ", source);
String cachedIframeUrl = getAttribute(IFRAME_URL_ATTRIBUTE);
if (validIframeUrl(cachedIframeUrl)) {
registerWithController(cleanUrl(cachedIframeUrl), 0, 0);
}