Register: Found a very acceptable solution with enum class and struct.