Personally I would put his target position in variables (I like putting things in variables, what can I do )
Then I would execute his movement like I did in the picture, line 35-39. You can put said variables inside engineer, If you want to separate them from the rest.
Also some additional conditions will be needed if you want him some advanced features, like "go to the nearest damaged wall" or something like that.