Base implementation

Assign, IDE hints, then pass to constructor