feat : assign controllers dynamically

assign controller based on tab definition and assign data source dynamically

Signed-off-by: Justin Noel <github@calendee.com>