use gfm for parsing doc markdown
[core] added message stream + tests
[hub] reply handlers can be either functions or message streams