Hi Leo,
can you please describe a little bit more detailled what you need? Your description of Direction-Widgets behaviour is quiet as expected. In my understanding the stops are the waypoints.
Following the sample at Directions | ArcGIS API for JavaScript 3.23 you can add stops to your route and as they are now part of your route, directions become recalculated to include them.
With the addStops(stop, index?) Method you have a second parameter that allows you to define where to insert the waypoint into the existing route.
If you already know all of your stops then you can also just pass them to the constructor as follows:
var directions = new Directions({
stops: [ new Point(x1, y1, someSpatialReference), new Point(x2, y2, someSpatialReference)]
}, 'myDirectionNodeId');