Angular.js based reusable control framework