class Archaius2Ext {

    public static <T> Flux<T> watch(Property<T> property) {
        Flux<T> observer = Flux.create(emitter -> {
            Property.Subscription subscription = property.subscribe(emitter::next);
            emitter.onCancel(subscription::unsubscribe);
        });

        return Flux.just(property.get()).concatWith(observer);
    }

}