Returning item is unnecessary here, it's the same object that was passed in.  Elsewhere you have `new_item = save_module(item)`, which looks like a bug in the making: it isn't a new item.