We tend to not use public members and also prefer shared pointers to raw pointers unless a QObject will be managing memory