reorganize Spinner constructor a bit, so that related things are together