Fixed performance issues from before,

Do not use StartCoroutine in a with a funciton that is being called very
often. Each call has a large overhead and thus slows down any Action
based behaviors.

Unfortunately this makes the code look very odd and repetitive . I am
currently looking for a way to remedy this.