Replaced factory logic with a plugin manager for the engines
Moved the Update template parameters to a listener
Moved the Update template parameters to a listener
Fixed merge conflict
Added tests for the EmailServiceFactory
Added a test for the EnginePluginManagerFactory