Fix bug in on decorator which made it unusable with other decorators.
Fix instance_method decorator so it works with other decorators.
Rename some variables
Make sure the class_method decorator returns the wrapped function so that other decorators may be added.
Make sure the scope decorator returns the wrapped function so that other decorators may be added.