Why do we need `finalDetails`? Can't we just return `details` directly and avoid all this extending?