What would cause puppet to ignore start command in a service definition

I have recently moved my puppet code from an old (2.7) system to a 4.x system. I have some classes that use service definitions which use my own script for controlling the service. When puppet runs it always tries to start the service using systemd which is the default provider for the platform (ubuntu).

This is an enterprise setup with the vast bulk of the puppet config done by another group and they have no idea why my stuff does not work as expected.