Check for changes when applying value or outerValue

Fix for Issue #13: Setting value and outerValue method should check if
the value has changed