docs: function MatrixUIInit(){
  
      // First things first, let's hide the nasty flying divs...
      jQuery("#info").hide();
      jQuery("#progress-widget").hide();
      jQuery("#order-selector").hide();
  
      // Ready logging.
      var logger = new bbop.logger();
      logger.DEBUG = true;
      function ll(str){ logger.kvetch('JSM: ' + str); }
      ll('');
      ll('MatrixUIInit start...');
  
      //
      var personality = 'bioentity_for_browser';
      var confc = gconf.get_class(personality);
      filter_manager = _new_manager();
      filter_manager.set_personality(personality);
      filter_manager.add_query_filter('document_category',
  				    confc.document_category(), ['*']);
      filter_manager.set_results_count(0); // don't need any actual rows returned
  
      // Add the filter widget and hook to manager.
      var hargs = {
  	meta_label: 'Total bioentities:&nbsp;',
  	// free_text_placeholder:
  	// 'Input text to filter against all remaining documents',
  	'display_free_text_p': false
      };
      var filters = new widgets.live_filters('accordion',
  					   filter_manager, gconf, hargs);
      filters.establish_display();
  
      // Add pre and post run spinner (borrow filter's for now).
      filter_manager.register('prerun', function(){
  	filters.spin_up();
      });
      filter_manager.register('postrun', function(){
  	filters.spin_down();
      });
  
      // Reset the UI; pull in and fix the GO term data.
      filter_manager.register('search', function(resp, manager){
  	console.log('filter_manager search callback');
  
  	// Empty matrix results.
  	jQuery('#matrix_results').empty();
  	jQuery('#progress-text').empty();
  	jQuery('#progress-bar').empty();
  	jQuery("#order-selector").hide();
  
  	// Reset click.
  	jQuery('#button').off();
  	jQuery('#button').click(function(e){
  
  	    // Trim.
  	    //alert(jQuery('#input-terms').val());
  	    var raw_text = jQuery('#input-terms').val();
  	    raw_text = raw_text.replace(/^\s+/,'');
  	    raw_text = raw_text.replace(/\s+$/,'');
  	    var term_accs = raw_text.split(/\s+/); // split on any ws
  	    
  	    // Unique-ify, take first in order.
  	    term_accs = us.uniq(term_accs);
  	    
  	    if( term_accs &&
  	        term_accs.length > 0 &&
  	        ! us.contains(term_accs, '') ){
  
  		// Pass on.
  		ll('Running: ' + bbop.dump(term_accs));
  		jQuery('#matrix_results').empty();
  		jQuery('#progress-text').empty();
  		jQuery('#progress-bar').empty();
  		jQuery("#order-selector").hide();
  		
  		TermInfoStage(term_accs);
  
  	    }else{
  		alert('Your input seems off: "' + term_accs + '"');
  	    }
  	});
      });
  
      filter_manager.search();
  
      // Let's start with this test.
      //GO:0043473 GO:0009987 GO:0022008
      //var term_accs = ['GO:0043473', 'GO:0009987', 'GO:0022008'];
      // Val's half example.
      //var term_accs = ['GO:0006310', 'GO:0006281', 'GO:0006260', 'GO:0030437', 'GO:0005975', 'GO:0007155', 'GO:0006520', 'GO:0070882', 'GO:0016568', 'GO:0051276', 'GO:0007059', 'GO:0051186', 'GO:0000747', 'GO:0000910', 'GO:0002181', 'GO:0007010', 'GO:0007163', 'GO:0006091', 'GO:0006629', 'GO:0016071', 'GO:0007126', 'GO:0007005', 'GO:0071941'];
      // Val's full example.
      //var term_accs = ['GO:0006310', 'GO:0006281', 'GO:0006260', 'GO:0030437', 'GO:0005975', 'GO:0007155', 'GO:0006520', 'GO:0070882', 'GO:0016568', 'GO:0051276', 'GO:0007059', 'GO:0051186', 'GO:0000747', 'GO:0000910', 'GO:0002181', 'GO:0007010', 'GO:0007163', 'GO:0006091', 'GO:0006629', 'GO:0016071', 'GO:0007126', 'GO:0007005', 'GO:0071941', 'GO:0055086', 'GO:0006913', 'GO:0007031', 'GO:0030163', 'GO:0006461', 'GO:0006457', 'GO:0006486', 'GO:0051604', 'GO:0070647', 'GO:0006605', 'GO:0007346', 'GO:0042254', 'GO:0023052', 'GO:0006399', 'GO:0006351', 'GO:0055085', 'GO:0007033', 'GO:0016192', 'GO:0006766'];
  
      //stage_01(term_accs);
  
      ll('Completed init!');    
  }