initial api changes to support hw_ devices as more-generic attachable modules