Overhauled icon functions, split them off into a another class.