Add message responses, more javadocs, and psuedo code.