Why are we exposing this setter publicly?

BTW, this class is code in flux, so it may have some redundancies.