I didn't check thoroughly so I may be wrong and sound dumb, but isn't `parent::__construct()` missing?