/* jshint unused:false */
function redux_hook( object, functionName, callback, before ) {
'use strict';
(function( originalFunction ) {
object[functionName] = function() {
var returnValue;
if ( true === before ) {
callback.apply( this, [returnValue, originalFunction, arguments] );
}
returnValue = originalFunction.apply( this, arguments );
if ( true !== before ) {
callback.apply( this, [returnValue, originalFunction, arguments] );
}
return returnValue;
};
}( object[functionName] ) );
}