coerce ints to floats for FloatProperty

also refactor an emerging pattern a bit