Which class to derive from for supporting classes

Just starting out with UE4’s C++ API, so quite a few qustions come up…

I would like to write some supporting classes that help in steering a character along a road. The road will be defines using landscape splines, and I would like to write a waypoint class that determines if the character has passed the waypoint and which waypoint should be appraoched next (the distance of a spline’s control points is to large, so I need several waypoints between two spline control points.

There will a Route class that is handed over a spline and calculates the waypoint for it, and a Waypoint class that is used for steering (using InterpTo(), I guess) and checks if it has been passed (using FVectors).

Now the question: What class should I derive Route/Waypoint from (if any)? UObject (what do I gain from that)? Nothing? Routes/Waypoints won’t directly be placed into the game world, so I guess Actor etc. doesn’t make a lot of sense (?).

Thanks for helping a toddling newbie…

AActor if you want to place it or for it to have components, or support replication. UObject otherwise so you get automatic GC, reflection, serialization etc.