Custom widget field only saves first letter, disappears on edit
It may help to just wrap the returned array from the _field_widget_form in yet another array

return array('anything' =&gt; $element);


Worked for me ;)