Ok, that seems reasonable, but you need to be consistent. If Scene is going to call the generate_transformation_matrix, then it should also be private. This makes since to do because you pass Scene the global inertial frame and origin point.