Add some implementation for CapsuleObserver

Still gaps though