feat New tab component

What happens when the content changes (i.e. tabs being added or removed after the instantiation) ? 
`onContentChange` function should handled this scenario, and it should be tested.