I am a robotics engineer at VBTI Eindhoven, The Netherlands
I suggest you drop the 2 versions of the tm_driver. The follow_joint interface can also be used without moveit. So make it the default. Doesn't matter when that interface is exposed, but not used. It does remove some duplicate code.
ToDo's:
I am happy to help you with this PR.