Model layer abstraction