The controller is NULL if and only if control is disabled, so an additional control boolean is redundant.