This is going to break. Why not defer nickname and uri only when host not passed.