nice_ doesn't need to be initialized anymore since it's a smart pointer.  remove unnecessary "friend" class.