Refactor
Move nose to the test group
Use wraps in functools
Use push() and pop() instead of __enter__() and __exit__()
Add 'f' to good names