We always tend to fake AI with dozens of IF THEN ELSE's.
I think the key is to make a program that sees, hears, feels...but does not know what to do with all this information yet. It should learn that.
Babies don't have a subroutine that says
IF TextHeard="goochygoo" THEN SAY "dadada"
They LEARN.