Implementing reactive $scopes