(#50) Decouple widget directive and controller instantiation (work in progress)