Refatoração com callback