Renew the decorators.

This PR is to primarily a rewrite of the decorators module eventually utilize it in other places.