public function processInput(PropertyValueBag $valueBag)
    {
        $post = $this->hijackPost($valueBag);

        // Now get and validate the widgets.
        foreach (array_keys($valueBag->getArrayCopy()) as $property) {
            $this->processProperty($valueBag, $property);
        }

        $this->restorePost($post);
    }