prepare goal for execution
If this is called before the Goal which was previously prepared but has not
yet been stopped is stopped then we save that state so we can jump back to
it when this goal has been stopped.