Nubank interview question

Multi level OOP style coding question in increasing difficulty