Branch/set visible recursively

@BrettASwift or @scottnc27603 would you mind reviewing?