An abstract implementation of a scope. By default, this class uses no-op implementations for all members unless overridden in a subclass.