renaming Observable trait to Signal