Note: If this task is starting to feel "medium" sized, stop what you are doing immediately and document the troubles you've hit. You've likely hit unknown unknowns and we should re-evaluate and re-estimate this work based on your discoveries.
`mfExtend()` is a prevalent utility in MobileFrontend and MinervaNeue. In the former, ES6 is now available and canonical class `extends` are preferable to a custom utility.
`extends` is compatible with both classes and functions so it's not a requirement that the parent be a real ES6 class. See the example below. This gives some flexibility in choosing which code to convert to classes because the change can be isolated from the parent.
```lang=js, name=Example: extending a function
// Parent "class"
function Foo() { console.log('constructor'); }
Foo.prototype.hello = () => console.log('hello')
// Actual class extending a function
class Bar extends Foo { goodbye() { console.log('goodbye') } }
// Prints "constructor".
const bar = new Bar()
// Prints "hello" and "goodbye".
bar.hello()
bar.goodbye()
```
Since there may be unknown unknowns, the initial effort will focus on BetaOptInPanel.
== Acceptance criteria
[] BetaOptInPanel is a `class` that `extends View`.
[] BetaOptInPanel invokes `View` with the correct arguments via `super`.
[] `mfExtend` is removed and its overrides are moved to class properties and methods.
[] If successful, a new task for new further `mfExtend` refactors is made.