Template for abstract module representing a functionality provider.