play returns a string, for better error diagnosis
expose new set-host-api! function