I give you other example: the erc.
I wish every channel in erc to have its own tab, and when somebody writes something, the tab of the given channel to change the color.
So, in Emacs we do not need tabs like in mozilla or something fixed.
We need _programmable_ tabs.
I think the method of callbacks could be applied to make such tabs.