Experimenting with state wrapping

Uses once_fns, which is considered to be quite experimental and
therefore dangerous as could be removed in any moment
Simplified and removed redundant mut's
Generating docs for rust-ci