implementação de MVP para isolar GUI