use(middleware) {
      Logger.debug("Registering middleware:", middleware);
      this.middleware.use(middleware);
    }
Registers state change middleware.
Middleware receives context object with:
- prop: Changed property name
- oldValue: Previous value
- newValue: New value
- preventDefault: Control flag

@param {Function} middleware - Handler(context, next)