There are many way to do it.
The use case should be detailed (online or offline) so we can give you an appropriate answer.
I’m doing something similar using a tracker and a tracker plugin for a customer, that’s one solution (they won’t really use the tracker as a tracker).
The plugin list execute ca do also.
Really depending of your use case.