Major refactoring: renamed Model to Hashed and create interfaces named Model and IterableModel