func (fsm *FSM[T]) Transition(...) { ... fsm.Transitions[time.Now()] = Transition[T]{ FromState: *fsm.CurrentState, ToState: targetState, Timestamp: &tn, Metadata: metadata, }