Whip was happy he realized on his own that giving me products from his other partner's business for Christmas would not have been a good idea. I like my metamour but we are not best buds.
I did give him cred for doing that. (Maybe should have added a biscuit!

)
I personally know we are very trainable entities. The difference I've found is that we train ourselves. It's better when we do this consciously but it happens regardless.
For example, I cannot let myself go to a fast food place. I am utterly incapable of ordering the 'less bad' selections off the menu. If I am standing in line or in the drivethru, I will order the large fries and burger (or equivalent). It is Pavlovian on my part. Sometimes complete with drool.
Here's another dog training lesson we experience.
Submissive dog's pee when they greet each other in order to broadcast their social status.
So here's how not to react: Yelling, anger, disappointment. Your dog will pick up on those cues and think, "Oh, I have made my master unhappy. Next time I see them I will have to pee
better so they know how submissive I am."
On the other hand, eating cat poop isn't actually a behavior I want to encourage; disappointment and 'bad dog!' is enough to get my dog to slink, all by herself, to her bed for a timeout. Just asking, "Did you eat the cat poop?" is enough if she has.
So how this applies here; if I am trying my best and I screw up, yelling at me gets me to
try harder, which actually means I screw up
more.
If I am doing something wrong, in trying my best, then ignore the behavior and encourage the proper behavior. The way to train a dog not to urinate upon greeting? House train them so they know they should only pee in the grass.
Then ignore the pee in the house, greet them as normal, take them outside to pee (since they probably have more!), and clean up the stain in the house. Be sure to praise the dog for peeing outside to reinforce the positive behavior.
Now, to be sure, being angry at me does work too, but only after lots of explanation. The 'bad dog' equivalent has to have a clear behavior that you want to eliminate. In my case it was:
1) Leaving the shower mode on
2) Making food for my wife without following her instructions
It's not even necessary to yell, but being complex it sometimes happens. Sometimes I don't connect the dots by myself when I am expected to, sometimes I just forget.
More here:
http://www.aspca.org/pet-care/virtual-pet-behaviorist/dog-behavior/submissive-urination