replace wrapt with functools.wraps - we can pickle

Replaces `wrapt` with `functools.wraps` - now features are pickleable.