When using input in conjunction with milestone it is impossible to detect the difference between the user choosing to "abort" (e.g. say "no" to the prompt) and the build being abandoned because it was superseded. Both cases throw FlowInterruptedException
This makes it impossible to take meaningful actions upon the user choosing to abort that you would not want to take if the input goes un-answered.
One possible solution would be for the input-invoked Abort to throw a unique exception type which extends FlowInterruptedException.