Added support for smooth and limits
Trigger listeners when setting value programmatically