Refactoring of objects to support generic validatrion for required parameters