Separate functions for Reset and Setup. This way, you can register to the OnDeviceAttached/Detached events before you Setup and the Attached event will fire for every controller that was initially plugged in.