Add async support and demo async tests