added onChange, documented api and demoed it