Handling a Resource/Loading a Manifest Dynamically

I'm developing a sample puppet module, in which there are a few defined types in the main class of the module. These defined types are typically to install, configure and start a server. Was trying to improve pluggability of the module, by allowing users to perform custom resource management tasks between these functions: