Moved messages to constants, cleaned up readability, and fixed where validation occurs (Dicer module, not inside Parser).