implemented view controller factory
merged projects gui to new factory style. removed view state enum.