refactor to allow pluggable setting of model attributes
clean up imports
renamed settings name
allow configurable cache backend