I just removed all ReceiveMessage lines from the interface files and it wouldn't compile at all.... until I told SWIG not to try and build a default constructor for MessageListener. Then it built and ran just fine, all the way to the end of IntroGame. 

SWIG is indeed mysterious at times. I'm surprised you were even able to compile... clang on my Mac yelled immediately the wrapping file was trying to instantiate a pure virtual class.