                     el.style[this._getPrefix(key)] = value
 
         pause: ->
+            this._paused = new Date()
             for el in this._collection
-                el.style[this._getPrefix("transition")] = null
+                computedStyle = window.getComputedStyle(el)
                 for key, prop of this._stack[this._step]
                     if key == "duration" || key == "delay" || key == "easing" || key == "before" || key == "after"
                         continue
-                    el.style[this._getPrefix(key)] = window.getComputedStyle(el, null).getPropertyValue(key)
+                    el.style[this._getPrefix(key)] = computedStyle.getPropertyValue(this._getCssPrefix(key))
+
+                el.style[this._getPrefix("transition")] = ""
 
         # set loop
         loop: (looping) ->

        # capitalizes the first letter
        # this implementation is done before deep optimization research (#2)
        _camelize: (str) ->
            return str.replace(Moon.fn._rdashAlpha, Moon.fn._camelizeReplaceCallback)

        # RegExp to match the dash and the char after it
        _rdashAlpha: "/-([\D])/g"

        # _camelize replace callback function to return
        # just the capitalized char
        _camelizeReplaceCallback: ($1) ->
            return $1.charAt(1).toUpperCase()            

        # defines an animation step. Moon animations
        # must have at least one step
        animate: (args) ->
            animationProps =
                duration: Moon.config.duration
                delay: Moon.config.delay
                easing: Moon.config.easing
                before: Moon.config.before
                after: Moon.config.after

            for arg, value of args
                animationProps[arg] = value

                            continue
                        el.style[this._getPrefix(key)] = value
                
                # timer to continue animation
                nextTimeout = setTimeout =>

                    # if it is paused, clear and stop
                    if this._isResuming? 
                        clearTimeout(nextTimeout)
                        this._isResuming = null
                        return undefined

                    # after animation function
                    anm.after() if typeof anm.after == "function"

