Use __weak instead all of __unsafe_unretained