Ex4 MessageQueue should be done. The stuff that I'm not sure of are marked as TODO inside the code.