Favoring sending an error through the callback rather than throwing it.
Fixed order of precedence when setting variables. Closes #16