Make individual controller actions asynchronous.
Add some more synchronization.
Merge pull request #619 from brendandburns/controller

Make individual controller actions asynchronous.