/**
  * @return Form itself
  */
 function addButton($name, $label, $callback = null)
 {
     if (is_string($callback)) {
         Assert::isTrue(method_exists($this, $callback), 'unknown method %s::%s', get_class($this), $callback);
         $callback = array($this, $callback);
     }
     $this->addControl(FormControl::button($name, $label));
     $this->buttons[$name] = $callback;
     return $this;
 }