TODO: squash up. fix(isolatedScope: '='): memory leak. fix(): don't call expression outside of digest