Added FormElementProviderInterface to split forms and service.
Added some factories to make module.php slimmer.