You could make a program like /usr/bin/ansible-playbook, almost exactly like it, and pass in different callback classes.
I’ve discussed making it be able to shove data into arbitrary data stores before, but there wasn’t a lot of interest, so it’s not something I’m actively persuing right now, but it might happen later.
–Michael