Abstract class implementing the default behavior for decorators while automatically handling the decoration of static and instance methods