function updateClassWithValue(element, className) {
    var lastClass;

    return function updateClassFn(newValue) {
      var value = validateAttributeValue(className, newValue || "");
      if (angular.isDefined(value)) {
        if (lastClass) element.removeClass(lastClass);
        lastClass = !value ? className : className + "-" + value.trim().replace(WHITESPACE, "-");
        element.addClass(lastClass);
      }
    };
  }
After link-phase, do NOT remove deprecated layout attribute selector.
Instead watch the attribute so interpolated data-bindings to layout
selectors will continue to be supported.

$observe() the className and update with new class (after removing the last one)

e.g. `layout="{{layoutDemo.direction}}"` will update...

NOTE: The value must match one of the specified styles in the CSS.
For example `flex-gt-md="{{size}}`  where `scope.size == 47` will NOT work since
only breakpoints for 0, 5, 10, 15... 100, 33, 34, 66, 67 are defined.