@Test
public void shouldHandleExtendedInterfaces() {
LabMouse subscription = mock(LabMouse.class);
Protocol<LabMouse> protocol = Protocol.create(LabMouse.class);
protocol.subscribe(new SynchronousDisposingExecutor(), subscription);
protocol.publisher().runThroughMaze();
protocol.publisher().eatCheese("reward");
verify(subscription).runThroughMaze();
verify(subscription).eatCheese("reward");