Fixed the controller issue and added an auto select method to find the
best enabled controller.  Also added a stub for an auto controller as a
fallback if no controllers are active.