Allows for the insertion of methods that are executed before or after a specified method
_injectwhen
                    
                fn
                    
                obj
                    
                sFn
                    
                c
                    
                Execute the supplied method before or after the specified function.
Used by before and after.
handle for the subscription
afterfn
                    
                obj
                    
                sFn
                    
                c
                    
                arg
                    
                Execute the supplied method after the specified function. Wrapping function may optionally return an instance of the following classes to further alter runtime behavior:
returnValue.  No other wrapping functions will be
        executed.returnValue instead of the wrapped
        method's original return value.  This can be further altered by
        other after phase wrappers.The static properties Y.Do.originalRetVal and
Y.Do.currentRetVal will be populated for reference.
handle for the subscription
beforefn
                    
                obj
                    
                sFn
                    
                c
                    
                arg
                    
                Execute the supplied method before the specified function. Wrapping function may optionally return an instance of the following classes to further alter runtime behavior:
returnValue.  No other wrapping functions will be
        executed.handle for the subscription
detachhandle
                    
                Detach a before or after subscription.
handle
                        EventHandle
                    
                    
                    the subscription handle
currentRetValContains the current state of the return value, consumable by 'after' event listeners, and updated if an after subscriber changes the return value generated by the wrapped function.
objsCache of objects touched by the utility
originalRetValContains the return value from the wrapped method, accessible by 'after' event listeners.