UNO: In the middle of a refactor. Code is ugly but all in all shaping up much better. Note to self look away from objects.