Adding more components/problems/solutions only requires changes
in resource files and in the respective enum classes now.
Furthermore, enums can now be inferred from spinner options directly.
It is no longer needed to convert cases.
By storing the type of option selected, it is possible to
do a when over the type rather the specific problem/component/etc
selected. This makes it easier to extend the list of components/problems
and so on without changing code.
Full compliance was not possible at every step but largely the
operations are now separated and can be unit-tested in isolation.
As part of this rewrite, the onClick event handler is now set
programmatically and no longer in the layout file.