ScreenChange now uses templates instead of a bunch of overloads.