Slight design change to handle proper input device initialization