stateful view save & restore state