Do you think we could have an encoder/decoder directly stored in the plugin manager instead of having an external map? (we'd also have to override the method that normalizes service names)