orientation change support (in 2 alternative ways):
1st way: decouple models to allow state saving;
2nd way: ignore orientation changes in manifest;