refactored OSLayout to injectable OSGUI