function testObserve()
 {
     $foo = \arc\prototype::create([]);
     $f = function ($ob, $name, $value) {
         return false;
     };
     \arc\prototype::observe($foo, $f);
     $foo->bar = 'bar';
     $this->assertArrayNotHasKey('bar', \arc\prototype::entries($foo));
     \arc\prototype::unobserve($foo, $f);
     $foo->bar = 'bar';
     $this->assertEquals($foo->bar, 'bar');
     \arc\prototype::observe($foo, $f);
     $foo->bar = 'baz';
     $this->assertEquals($foo->bar, 'bar');
 }