src/Zax/Application/UI/traits/TControlForward.php
public function forward($destination, $args = []) {

		// Remove '!' from destination
		$destination = str_replace('!', '', $destination);

		// Remove anchor from destination
		$anchor = strpos($destination, '#');
		if(is_int($anchor)) {
			list($destination, $anchor) = explode('#', $destination);
		} else {
			$anchor = NULL;
		}
		$this->processDestination($this->link($destination, $args), $anchor);

		// Process arguments
		$params = [];
		foreach($args as $key => $param) {
			$control = $this;
			$property = $key;

			// Get subcomponent from name
			if(strpos($key, self::NAME_SEPARATOR) > 0) {
				$names = explode(self::NAME_SEPARATOR, $key);
				$property = array_pop($names);
				$control = $this->getComponent(implode(self::NAME_SEPARATOR, $names));
			}

			if($control->hasPersistentProperty($property)) {
				$control->$property = $param;
			} else {
				$params[$key] = $param;
			}
		}
		$this->params = $params;

		if($destination === 'this')
			return; // Definitely not a signal

		$this->signalReceived($destination);
	}
public function forward($destination, $args = []) {

		// Remove '!' from destination
		$destination = str_replace('!', '', $destination);

		// Remove anchor from destination
		$anchor = strpos($destination, '#');
		if(is_int($anchor)) {
			list($destination, $anchor) = explode('#', $destination);
		} else {
			$anchor = NULL;
		}
		$this->processDestination($this->link($destination, $args), $anchor);

		// Process arguments
		$params = [];
		foreach($args as $key => $param) {
			$control = $this;
			$property = $key;

			// Get subcomponent from name
			if(strpos($key, self::NAME_SEPARATOR) > 0) {
				$names = explode(self::NAME_SEPARATOR, $key);
				$property = array_pop($names);
				$control = $this->getComponent(implode(self::NAME_SEPARATOR, $names));
			}

			if($control->hasPersistentProperty($property)) {
				$control->$property = $param;
			} else {
				$params[$key] = $param;
			}
		}
		$this->params = $params;

		if($destination === 'this')
			return; // Definitely not a signal

		$this->signalReceived($destination);
	}
Custom "hacky" forward (works well with redrawControl)

@param string $destination
@param array $args