Refactored the way wrappers are registered

Instead of copyign the service definition of the wrapper to apply it, the
wrapper service itself is now used. This allows to have direct references
to the wrapper in other places (for instance in a controller to configure
it at runtime) instead of receiving a reference to a different instance.