refactoring model methods callbacks like then aproach