I see "const QObject &" a lot. It's in both function parameters and in return types. If you want to pass something that can't be modified, why not just pass a "QObject" to it? Does passing and returning by reference save RAM?