generic item gui handler