Uses global factories to avoid instantiating managers and controllers more than once
Merge pull request #677 from nsendetzky/master

Uses global factories to avoid instantiating managers and controllers more than once