implement Consider switching data factory IllegalArgumentExceptions to
NullPointerExceptions #131
Fix Are properties generally defined to be copies or immutable #143