code: public static MutableChar fromExternal(final Supplier<Character> s, final Consumer<Character> c) {
          return new MutableChar() {
              @Override
              public char getAsChar() {
                  return s.get();
              }
  
              @Override
              public Character get() {
                  return getAsChar();
              }
  
              @Override
              public MutableChar set(final char value) {
                  c.accept(value);
                  return this;
              }
          };
      }
docs: Construct a MutableChar that gets and sets an external value using the provided Supplier and Consumer
  
  e.g.
  <pre>
  {@code
  MutableChar mutable = MutableChar.fromExternal(()->!this.value,val->!this.value);
  }
  </pre>
  
  
  @param s Supplier of an external value
  @param c Consumer that sets an external value
  @return MutableChar that gets / sets an external (mutable) value