I think I would prefer if the libraries calling this generic utility method would be responsible for decoding the entity input, so that the parameters can be plain strings. Otherwise, we should at least document that the displayName and description passed in to the method should be entity-encoded.