refactoring
refactoring
refactoring
1. refactoring
2. caching presenter instance in PresenterFactory
use presenter interfaces anywhere
interface validation