make message serializable and some more concurrency control in messagecenter