Fix issue with conditional expressions

For conditionals we failed to setup the observer for both branches
as required. This lead to us only observing either the true or false
branch but not both.

Fixes #40