Rather than having to delete the returned pointer, I think it would be better if `removeHud()` deleted it  if possible and returned a boolean indicating success.