Invalid smart property fields

Includes #27, since without that you don't get anything.

Moved the logging for errors during parsing to BEFORE the function returns.