@clintflint - There has actually been a fair amount of body language research done over the years and it can be taught as a science, even if it's not 100% accurate. They have run experiments trying to figure out what the body will do if someone is lying, for example, or if they are under stress.
I've seen some online where researchers were trying to figure out if people could tell when someone was fake-smiling, or if it was possible to tell just from someone's eyes what they were feeling.
There are a surprisingly large amount of body language signs that seem to be relatively universal. I think the problem is more than emotions are complex and body language is limited, so that's what makes it a challenge.