Big general refactor after learning a bit more Objective C