Unit Tests for the Introduction Client
Please note that I based this MR is on top of the introduction UI in !122 (merged), because I needed to do some more refactoring on top of the other refactoring ;) The refactoring and the tests are in two separate commits.
An integration test will be added as a separate MR.
This addresses part of #276 (closed).