Add a chain router interface

In order to make it easy to decorate the ChainRouter it would be nice to have a proper interface for the ChainRouter.
@dbu what do you think .. should we extend all those interfaces here?