Refactor modal view delegate protocol with closures