@SuppressWarnings("unchecked")
	@Override
	public void init() {
		try {
			this.addComponentListener(new ComponentAdapter() {
				@Override
				public void componentResized(ComponentEvent arg0) {
					if (c != null && c.getView() != null) {
						c.getView().updateMidpoint();
					}
				}

				@Override
				public void componentMoved(ComponentEvent arg0) {
					if (c != null && c.getView() != null) {
						c.getView().updateMidpoint();
					}
				}
			});
			AccessController.doPrivileged(new PrivilegedAction() {
				public Object run() {
					launchNewController();
					return null;
				}
			});
		} catch (Exception e) {
			System.err.println("An error has occurred. See below for details:");
			e.printStackTrace();
		}
	}