I think the first question I have is on use cases - do we need to support multiple time variables within one physics problem? I've never done that, but @Krastanov, have you?
I have another question though - shouldn't all the associated basis vectors and coordinate functions be functions of time?

Anyways, if we want to allow multiple time variables, I think you could do the following: have an attribute, MovingRefFrame.time=symbols('t'). Each frame should pull from that on creation. If the user wants to then use a different time all of a sudden, they have to set the class's definition of time to None
  >>> MovingRefFrame.time=None
and supply the time as a keyword arg to future MovingRefFrame's
  >>> N = MovingRefFrame(......., t=symbols('time'))
or an error will be thrown (in the initializer).