class FilteringStateChangeListenable implements StateChangeListenable<C> {

    @Override
    public Stream<C> stream() {
        return backingListenable.stream().map(mapAndFilter).filter(Objects::nonNull);
    }

    public  FilteringStateChangeListenable(StateChangeListenable<T> backingListenable, Function<? super T, C> mapAndFilter);

}