Add tests and async signals