https://blog.devgenius.io/decorating-class-methods-exploring-the-application-of-decorators-on-methods-within-python-classes-c01ce3d352bf