Made Workspace fully generic not depending on any specific module