added locking to cached components (singletons)
ensured that there is only one instance of screen manager
refs #44