Currently there are only 10 properties defined in the Datasource template. And since there are three types of datasources, should there be more than one template defined for a Datasource? Some properties are shared among the types, but some are distinct to the type, some of those that are distinct, might be required just for that type.
If they shared the same template, it might be difficult to enforce those required properties. So if an XA datasource has a required property that isn't a property of a LocalTX datasource.
The deployers need to take on the responsibility of defining their managed objects. The current prototype overrides this as the profile service.