some refactoring and removing duplicated code between server and embedded impl, reuse of property validation