# Functions
NewSourceProvider returns the concrete implementation of SourceProvider according to source defined in appSource.
NewTemplateProvider return the concrete implementation of TemplateProvider according to the templateMethod.
# Interfaces
SourceProvider is an interface for downloading the application's sources.
TemplateProvider is an interface to install, upgrade or uninstall application.