Changed for state pattern and added dontDrawFadedChecker