Metadata

WARNING: DO NOT MERGE NOW.

Make this pull request to make the code review easier.
Main changes:
* Add support for metadata community.
* Add support for handling custom message check and store callbacks.