Trajectories are currently built by adding points individually through AddTrajPoint and then converting the vector of waypoints through a toJointTrajectory call.
Similar to lookupWaypoint, a lookupTrajectory function could offload creation of the sparse trajectory vector to an external service. Moveit Simple would then only be responsible for interpolation and collision checks for the dense trajectory.
Additionally, an addTrajectory function could encapsulate the lookup, interpolation, and collision checks for convenience.