Big refactor at least compiles for Uno and Due