Created copy constructors and assignment operators, creating proper isVisable enforcement