Keeping the external workspaces separate from the normal workspaces _might_ make this logic a little cleaner.