Update docs, add state diagrams

Signed-off-by: Andrew 'Necromant' Andrianov <andrew@ncrmnt.org>