refactor(js): using controller and controllerAs syntax inside of directives instead of doing everything with link