Initial project import

Complete refactor splitting projects into model, logic, ui and tests