move need_maintenance(self) from host to deviceproxycomponent