Enhancements to the Model module - https://drupal.org/project/model