split visual/functional styles apart, dynamically determine spinner size #20