## Added a Library version of the function to allow more configuration and changes. Includes:
1. Support for deferred callback of after calls.
2. Addition of Static Before and After calls which would allow you to call all functions with a fixed callback.