I completely refactored tabs components so that is oop oriented and supports location state restore.
I refactored the generators tab component so that we can plugin specific controllers for each supported format.