big clean up Generator related code
add Time.nowAsMilli() to avoid Time object creation inside Spinner class (greatly reduced objects on heap)