Good to hear, hopefully the task decorator will make it in soon because I think it's a much superior API.
The little hack on Fabric I use currently takes the opposite approach -- I use an @internal decorator that hides certain functions from the task list but keeps the default Fabric behavior around for anything else. It's just a few lines of codes that mess with a private list Fabric uses to track internal functions:
from fabric.main import _internals
def internal(fn):
_internals.append(fn)
return fn
_internals.append(internal)