 		return
 
 	if scope?
-		console.log '  > SCOPE'.cyan
-		console.log formatJsonWithPrefixAndColor removeInternalProperties(scope), '  | ', 'cyan'
+		console.log '   > SCOPE'.grey
+		console.log formatJsonWithPrefixAndColor removeInternalProperties(scope), '   | ', 'grey'
 	if args?
-		console.log '  > ARGUMENTS'.cyan
-		console.log formatJsonWithPrefixAndColor args, '  | ', 'cyan'
+		console.log '   > ARGUMENTS'.grey
+		console.log formatJsonWithPrefixAndColor args, '   | ', 'grey'
 
 logAfterExecution = (methodName, scope, args, result) ->
 	if Meteor.registerLogs isnt true

		return

	if scope?
		console.log '  > SCOPE'.cyan
		console.log formatJsonWithPrefixAndColor removeInternalProperties(scope), '  | ', 'cyan'
	if args?
		console.log '  > ARGUMENTS'.cyan
		console.log formatJsonWithPrefixAndColor args, '  | ', 'cyan'
	if result?
		console.log '  > RESULT'.cyan
		console.log formatJsonWithPrefixAndColor args, '  | ', 'cyan'

processResult = (result) ->
	if _.isObject(result) and _.isFunction(result.fetch)

			__methodName__: name

		for beforeMethodName, beforeMethod of BeforeMethods
			logBeforeExecution "<- #{name} - #{beforeMethodName}", scope, arguments
			result = beforeMethod.apply scope, arguments
			logAfterExecution "<- #{name} - #{beforeMethodName}", scope, arguments, result
			if result?
				return processResult result

		for middlewareName, middleware of middlewares
			logBeforeExecution "<> #{name} - #{middlewareName}", scope, arguments
			result = middleware.apply scope, arguments
			logAfterExecution "<> #{name} - #{middlewareName}", scope, arguments, result
			if result?
				return processResult result

		logBeforeExecution "   #{name}", scope, arguments
		result = mainMethod.apply scope, arguments
		result = processResult result
		logAfterExecution "   #{name}", scope, arguments, result

		for afterMethodName, afterMethod of AfterMethods
			afterMethodParams =
				result: result
				arguments: arguments

			logBeforeExecution "-> #{name} - #{afterMethodName}", scope, afterMethodParams
			afterMethodResult = afterMethod.call scope, afterMethodParams
			logAfterExecution "-> #{name} - #{afterMethodName}", scope, afterMethodParams

			result = afterMethodParams.result

			if afterMethodResult?
				return result

		return result

	Meteor.methods meteorMethods