public function form(array $configuration = array())
    {
        Event::fire('antares.forms', 'commands.' . $this->name);
        Event::fire(new Form('commands.' . $this->name));

        return app('antares.form')->of("antares.command: " . $this->name, function (FormGrid $form) use ($configuration) {
                    $form->name('Command Configuration Form');
                    $fluent = new Fluent($configuration);

                    $form->simple(handles('antares::automation/update/'), [], $fluent);
                    $form->hidden('id');

                    $form->fieldset('', function (Fieldset $fieldset) use($configuration) {

                        $fieldset->legend('Command Configuration Form');
                        $launch  = $configuration['launch'];
                        $options = [];
                        foreach ($configuration['launchTimes'] as $option => $value) {
                            if (!is_numeric($option)) {
                                $options[$option] = trans('antares/automation::messages.intervals.' . $option, ['value' => is_array($value) ? implode(', ', $value) : $value]);
                            } else {
                                $options[$value] = trans('antares/automation::messages.intervals.' . $value);
                            }
                        }

                        $fieldset->control('select', 'launch')
                                ->label(trans('Interval'))
                                ->options($options)->value($launch)
                                ->wrapper(['class' => 'w200']);
                        $control = $fieldset->control('checkbox', 'active')
                                ->label(trans('Status'))
                                ->value(1);
                        if ((int) $configuration['active']) {
                            $control->checked();
                        }
                        if (!$this->getDisablable()) {
                            $control->attributes([
                                'disabled' => 'disabled',
                                'readonly' => 'readonly'
                            ]);
                        }
                        $fieldset->control('button', 'button')
                                ->attributes(['type' => 'submit', 'class' => 'btn btn-primary'])
                                ->value(trans('antares/foundation::label.save_changes'));

                        $fieldset->control('button', 'cancel')
                                ->field(function() {
                                    return app('html')->link(handles("antares::automation/index"), trans('antares/foundation::label.cancel'), ['class' => 'btn btn--md btn--default mdl-button mdl-js-button']);
                                });
                    });
                    $form->ajaxable();

                    $form->rules([
                        'title'       => ['required'],
                        'description' => ['required', 'max:4000'],
                    ]);
                });
    }