[server side]: refactoring and specs for RhoDevice