Convert to multi-project setup, ready for moving core code into separate library