Bug-22: Add Word and WordStorage class

@john-hu Please help me review this patch. Thank you.
One question, may we have null value in mListener?