quick port of RewindableProperty.js, see #138