- use new NobleDevice inheritance style