Separate link abstraction from emulator abstraction