adjmogollon esta muy bien!!!
yo lo q intenteria de mejorar es la creacoin
fijate esto
$select = new Select("hj","","","","","","","","","","","","","","","","","multiple","","","","","","",$opciones,01);
no te parece demaciado "largo" para crear un simple select????
yo sugeriria 2 alternativas, o reacomodar los parametros dejando por delante y en caracter de obligatorios los mas importnates, name y value
o pasar un array o json
$array=array('name'=>'miselect','value'=>$opciones ,'select'=>01);
$json='['name':'miselect','value':[las pciones],'select':1]';
$select = new Select($array);
$select = new Select($json);
obviaente que esot es una cuesoitn de gustos, tu trabajo esta mas que bien, pero creo q se podria hacer mas amigable todavia
saludos