Will also need no-arg constructor when have interface+impl.