How it would work:
With the dog NPC you'd be able to treat it as a regular dog for example. If your dog is tired it would start releasing "Zzzzzz...." noises which means it wants to go to sleep. If the dog would want to be walked you'd be able to tell when the tail of the dog starts wagging. If the dog wanted to be fed you would just press Q and give the dog a brick to eat (I realize the brick part is not realistic), and each dog would come with a hunger level GUI with 5 lines. 1 line would mean the dog is starving, 2 lines would mean the dog is hungry but not starving, 4 lines would mean the dog is semi-hungry, and 5 lines would mean that the dog is not hungry. If the dog wanted to drink water you could tell by the dogs thirst level which would be a GUI which came with the add-on. If the dog wanted to be pet you would know if it started jumping on you or following you and by just clicking on the dog would satisfy the dog's attention needs.
I would like to see feedback. If anyone wants to use my idea, I'd be glad!