Refactored model to extend PropertySet, and cleaned up step/reset methods.