Move decorators to new file and update to use better wraps()
Use update instead of overwrite.