Added IFaction interface
Finish basic creation of default factions

Next step: fix #5