[WIP] PIM-3196: add a view manager

| Q                    | A
| -------------------- | ---
| Bug fix?             | N
| New feature?         | Y
| BC breaks?           | N
| CI currently passes? | ?
| Tests pass?          | Y
| Scenarios pass?      | ?
| Checkstyle issues?*  | N
| PMD issues?**        | N
| Changelog updated?   | Y
| Fixed tickets        | PIM-3196
| DB schema updated?   | N
| Migration script?    | N
| Doc PR               | N
Missing @throw tag