add state factory due to serialization requirement. states will most likely has @Injected dependencies, and we won't those after deserialisation.
adding distributed resource so you can lock any resource that is required in a distributed manner.
pulling out sm operations in examples.
pulling out sm operations in examples.
fix logging
rename
logging and examples