Base implementation

Assign and then pass to constructor; also add IDE hints.