WIP: Support ghosts
First attempt to support Ghosts.
This should not be merged yet because now there are two
GHOST_TAB classes, with one and two underscores. This is a hack to prevent circular dependencies and needs to be resolved first.
However, we can already use this MR to discuss the ghosts. Also see issue #48