add a items attr_writer to rewrite basket items instead of creating and returning a new basket
some syntax shortening in some conditionals