Deprecate newEmpty methods

Main reason to touch this was the `Item` constructor. The first parameter can be null but the others can not? This doesn't make much sense. Why not simply make them all optional?