"(...) My first idea was to mirror the existing StatementList::addStatement( Statement $statement ) and introduce StatementList::removeStatement( Statement $statement ). But that's not very helpful. This method is barely used. In tests we use addNewStatement. How to remove such statements?
More convenience methods in Item? Probably not a good idea.
How to empty a StatementList? Item::setStatements( new StatementList() ) is possible but a bit ugly. Should there be a StatementList::clear()?"