changed ngWidget implementation to be more flexible with scope isolation