Move dispatcher into own module.
Guard against windows that maybe detached.
Implement `is` helper function.
Move most of the platform related logic to tab/utils.
Complete tab/model implementation.