About WSF_ROUTED_SKELETON_SERVICE and WSF_URI_TEMPLATE_ROUTED_SERVICE
you don't need to update any descendant
if a user want to use the skeleton .. and have the helper feature to use uri-template
he would just need to inherit from
   WSF_ROUTED_SKELETON_SERVICE
   and WSF_URI_TEMPLATE_ROUTED_SERVICE

instead of just WSF_ROUTED_SERVICE

And this should compile and work fine since both are inheriting from WSF_ROUTED_SERVICE .. and this is what really matter.

In fact, we should not have the class WSF_URI_TEMPLATE_ROUTED_SERVICE, but rather have
WSF_URI_TEMPLATE_HELPER_FOR_ROUTED_SERVICE
But we kept WSF_URI_TEMPLATE_ROUTED_SERVICE to avoid breaking potential existing code.
----------------

About WSF_URI_TEMPLATE_CONTEXT_ROUTED_SERVICE
this is similar to WSF_URI_TEMPLATE_ROUTED_SERVICE apart that it is helper for WSF_URI_TEMPLATE_CONTEXT_HANDLER [C]
i.e ... supporting execute (ctx: C -> WSF_HANDLER_CONTEXT, req: WSF_REQUEST; res: WSF_RESPONSE) do ... end

This was to make it easier to share a typed context object across the request chain.
This could be used for specific advanced design, but ... right now, I am not sure this is used by anyone apart me (and even me, I could adopt different design), so maybe we should check and see if we should not remove it for the sake of simplicity.


BUT to summary
You can move all your code into a WSF_ROUTED_SKELETON_SERVICE with no harm, and without having to change the existing descendant.  I haven't tested that, so I might miss something ...