public function editAction()
    {
        /* @var $form \Zork\Form\Form */
        /* @var $model \Grid\Customize\Model\Sheet\Model */
        $params     = $this->params();
        $request    = $this->getRequest();
        $locator    = $this->getServiceLocator();
        $id         = $params->fromRoute( 'id' );
        $rootId     = is_numeric( $id ) ? (int) $id : null;
        $model      = $locator->get( 'Grid\Customize\Model\Sheet\Model' );
        $form       = $locator->get( 'Form' )
                              ->get( 'Grid\Customize\Css' );
        $sheet      = $model->find( $rootId );

        $form->setHydrator( $model->getMapper() )
             ->bind( $sheet );

        if ( $request->isPost() )
        {
            $form->setData( $request->getPost() );

            if ( $form->isValid() && $sheet->save() )
            {
                $this->messenger()
                     ->add( 'customize.form.success',
                            'customize', Message::LEVEL_INFO );

                $cssPreview = $locator->get( 'Grid\Customize\Service\CssPreview' );

                if ( $cssPreview->hasPreviewById( $rootId ) )
                {
                    @ unlink( 'public' . $cssPreview->getPreviewById( $rootId ) );
                    $cssPreview->unsetPreviewById( $rootId );
                }

                return $this->redirect()
                            ->toRoute( 'Grid\Customize\CssAdmin\List', array(
                                'locale' => (string) $this->locale(),
                            ) );
            }
            else
            {
                $this->messenger()
                     ->add( 'customize.form.failed',
                            'customize', Message::LEVEL_ERROR );
            }
        }

        return array(
            'form'  => $form,
            'sheet' => $sheet,
        );
    }