Encapsulate property object creation better in setInterfaceVisible:YES