A partially useless function can just exist and be ignored in such case. So what you need is a template router that has default implementations, which allow you only implement those functions you care about.

This can be done by add such prototype then you & me new it and change the methods when it is necessary.