public TestPanel() {
        try {
            createMainPanel();
            reloadButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent actionEvent) {
                    GuiUtils.getUserTests(testIdComboBox, mainPanel, cloudPanel, userKeyTextField.getText());

                }
            });
            IUserKeyNotification userKeyNotification = new UserKeyNotification(signUpButton,
                    testIdComboBox,
                    mainPanel,
                    cloudPanel);
            BmTestManager.getInstance().userKeyNotificationListeners.add(userKeyNotification);
            IUsersChangedNotification usersChangedNotification = new UsersChangedNotificationTP(userInfoLabel, testIdComboBox);
            BmTestManager.getInstance().usersChangedNotificationListeners.add(usersChangedNotification);

            signUpButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent actionEvent) {
                    GuiUtils.navigate(BmTestManager.getServerUrl() + "/user");
                }
            });

            CreateNewButtonListener createNewButtonListener = new CreateNewButtonListener(testNameArea,
                    mainPanel,
                    cloudPanel,
                    testIdComboBox);

            createNewButton.addActionListener(createNewButtonListener);

            GoToTestButtonListener goToTestButtonListener = new GoToTestButtonListener();

            goToTestPageButton.addActionListener(goToTestButtonListener);

            HelpButtonListener helpButtonListener = new HelpButtonListener();
            helpButton.addActionListener(helpButtonListener);

        } catch (NullPointerException npe) {
            BmLog.error("Failed to construct TestPanel instance: " + npe);
        }
    }