Add messages + status

From the documentation, also add tests.
Merge remote-tracking branch 'barryvdh/patch-2' into develop