Let embedders add their own protocol handlers