Leverage the power of entityform and create this module as a feature.