More abstraction and method reusage; workspace creation now working

Code has been improved and method abstraction as well. Should work with
the latest commit for Riverapp