Re-usable components for angular-js