Refactored as to not break the configuration API at the moment. Also added more tests around distinct and distinctUntilChanged