Started refactoring Collection to support Model