OK time-loop story but not as clever as it pretends

Rating: 7/10 (1 September 2017)

The premise of "Source Code" is that Gyllenhaal's Colter Stevens character can replace the last eight minutes of consciousness of a person who is about to die. The person in question is killed in a terrorist bombing of a train, and Stevens is tasked with repeating the eight minutes continuously until he identifies the bomber. The clock is ticking, as there is a second bomb to be found and Stephens' subjective eight minutes is eight minutes in real-time. Similar to "Edge of Tomorrow" and "Groundhog Day", this is a time-loop scenario where the traveller gets to learn from his mistakes and enters each new iteration with a fresh perspective. Despite an early implication that Stevens' only has eight minutes regardless of what happens (in one case he is hit by another train as the 8 minutes end), later it seems that he can go on beyond eight minutes, as each iteration creates a new, alternate reality, and he finally creates one where the bomb is defused and the terrorist captured. Unlike most time travel scenarios, creating alternate universes at decision points doesn't necessarily create paradoxes, but there are some issues conveniently ignored by the writer (and characters): what happened to the consciousness of the person whose body Stevens took over (especially in the 'new' reality where Stevens appears about to live out his life in the requisitioned body) and since the 'donor' didn't die in this 'new' reality, how/why would the source code work (I guess that this is similar to a time travel paradox - you can't save the person as they have to die to enable you to save them)). There is a freeze-frame scene at the end of the last 'eight minute' that teases you into thinking that that is how the movie ends (Stevens frozen in a time loop where he, and everyone around him, are happy) â€“ then the movie continues into the 'new reality'. IMO, closing on the freeze frame would have been a much better ending.