Adding configurable debounce to plugin

1. adding debounce to plugin with default as false
2. added timeout of 300ms by default