Using spies as callbacks and to decorate methods