FEATURE: added StateMachine
BUG FIX: message parser now accepts empty payloads