text: $K.add('class', 'modal.form', {
      mixing: ['dom'],
      init: function(app, element)
      {
          this.app = app;
  
          // build
          this.build(element);
      },
  
      // public
      build: function(element)
      {
          this.parse(element);
      },
      getData: function()
      {
          var data = {};
          this.find('[name]').each(function(node)
          {
              var $node = $K.dom(node);
              data[$node.attr('name')] = $node.val();
          });
  
          return data;
      },
      setData: function(data)
      {
          this.find('[name]').each(function(node)
          {
              var $node = $K.dom(node);
              var name = $node.attr('name');
              if (data.hasOwnProperty(name))
              {
                  if (node.type && node.type === 'checkbox') node.checked = data[name];
                  else $node.val(data[name]);
              }
          });
      },
      getItem: function(name)
      {
          return this.find('[name=' + name + ']');
      }
  });