You're tasked with developing a robust and efficient pricing model for a long-term American put option, assuming the underlying asset follows a geometric Brownian motion and pays continuous dividends. Using the Finite Difference Method (FDM) to solve the relevant Partial Differential Equation (PDE), walk me through how you would construct and implement such a model. This should include your choice of discretization scheme (e.g., explicit, implicit, Crank-Nicolson), how you would handle boundary conditions, and most critically, the early exercise condition. What are the unique challenges and best practices for numerically incorporating early exercise?