moved ObservableHashMixin to wb.core