@Override
	public void initialize(Object args) throws NetworkMessageException
	{
		// Store the list of verbs we've received here here
		AtomVerbs verbs;
		
		if(args instanceof AtomVerbs)
		{
			verbs = (AtomVerbs) args;
		}
		else
		{
			// If the args aren't of the right type, tell the caller
			throw new NetworkMessageException();
		}
		
		// Build the necessary GUI widgets
		
		// --- VERB WINDOW ---
		
		DialogLayout verbPanel = new DialogLayout();
		// TODO: use some more generic theme than "login-panel"
		verbPanel.setTheme("login-panel");
		verbPanel.setInnerSize(100, 100);
		verbPanel.setPosition(200, 120);
		
		// --- VERB WINDOW LAYOUT ---
		DialogLayout.Group horizontalGroup = verbPanel.createParallelGroup();
		DialogLayout.Group verticalGroup = verbPanel.createSequentialGroup();
		
		// --- VERB BUTTONS ---
		for(VerbSignature verb : verbs.verbs)
		{
			Button verbButton = new Button(verb.verbName);
			verbButton.setMinSize(80, 25);
			verbButton.adjustSize();
			horizontalGroup.addWidget(verbButton);
			verticalGroup.addWidget(verbButton);
			verbButton.addCallback(new ButtonCallback(verbs.atomUID, verb));
		}
		
		// --- FINALIZE ---
		verbPanel.setHorizontalGroup(horizontalGroup);
		verbPanel.setVerticalGroup(verticalGroup);
		verbPanel.adjustSize();
		
		this.root = verbPanel;
	}