public function manage_messageoutput_settings($allprocessors, $processors, $providers, $preferences) {
        $output = html_writer::start_tag('form', array('id' => 'defaultmessageoutputs', 'method' => 'post'));
        $output .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()));

        // Add message output processors enabled/disabled and settings.
        $output .= $this->heading(get_string('messageoutputs', 'message'));
        $output .= $this->manage_messageoutputs($allprocessors);

        // Add active message output processors settings.
        $output .= $this->heading(get_string('managemessageoutputs', 'message'));
        $output .= $this->manage_defaultmessageoutputs($processors, $providers, $preferences);

        $output .= html_writer::start_tag('div', array('class' => 'form-buttons'));
        $output .= html_writer::empty_tag('input',
            array('type' => 'submit', 'value' => get_string('savechanges', 'admin'), 'class' => 'form-submit btn btn-primary')
        );
        $output .= html_writer::end_tag('div');
        $output .= html_writer::end_tag('form');

        return $output;
    }