One more thing I can see is that it might be good to put in the constructor that I had too:

	/**
	 * Constructor.
	 * @param array $data criteria initial property values (indexed by property name)
	 */
	public function __construct($data=array())
	{
		foreach($data as $name=>$value)
			$this->$name=$value;
	}

This is from CDbCrtieria whereby you can do:

       new CDbCriteria(array('condition' => 'title=:id'))

etc.