Implement router class and cover it with unit test