Abstracted DesktopLink so we can reuse it