I can't remember why this is needed? I know we've talked about it, but why is this not sufficient:

```python
A = ReferenceFrame('A')
q = dynamicsymbols('q')
B = A.orientnew('B', 'Axis', (q, A.z))
B_x, B_y, B_z = symbols('B_x B_y B_z')
v = B_x * B.x + B_y * B.y + B_z * B.z
measure_numbers = [v.express(B).dot(u) for u in [A.x, A.y, A.z]]
{k: v for k, v zip([A_x, A_y, A_z], measure_numbers)}
```

What is the fundamental reason the CoordinateSystem class is needed?