Yes, I thought about this. Time can be found from distance between two points: start and end points. Distance was 1000 the time was 1000, new distance is 500 and the time will be 500.
I see there is a table returnable from proc so I thought perhaps I can control transition params in flow. 
table: 0E25A708 { 15:40:54.467    [\_transition] =\> function: 047202E0 15:40:54.467    [\_instantiatedByTransLib] =\> true 15:40:54.467    [iterations] =\> 1 15:40:54.467    [\_target] =\> table: 0E25A708 { 15:40:54.467                   [\_proxy] =\> userdata: 0A024AA8 15:40:54.467                   [\_class] =\> table: 0A024D10 { 15:40:54.467                                 [removeEventListener] =\> function: 0471FC40 15:40:54.467                                 [addEventListener] =\> function: 0471FC20 15:40:54.467                                 [\_\_index] =\> table: 04727F50 { 15:40:54.467                                                \*table: 04727F50 15:40:54.467                                              } 15:40:54.467                               } 15:40:54.467                 } 15:40:54.467    [\_timeStart] =\> 3720.5 15:40:54.467    [\_delayParams] =\> table: 0E25A708 { 15:40:54.467                        [y] =\> 870 15:40:54.467                        [x] =\> 270 15:40:54.467                        [time] =\> 10049.875621121 15:40:54.467                        [delay] =\> 45224.440295044 15:40:54.467                        [transition] =\> function: 047202E0 15:40:54.467                      } 15:40:54.467    [\_duration] =\> 10049.875621121 15:40:54.467    [\_delay] =\> 45224.440295044 15:40:54.467    [tag] =\> "" 15:40:54.467  }