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.
you forgot to add that this class implements the new interface