Re: So why did he wait 2 years?
It was public promise #1, but the real first priority was to lower the taxes for the rich (#2 was destroying Obamacare) - which had full approval among Republicans (and many Democrats as well, even if they voted against knowing it would have passed anyway...). Now that his low-income supporting base didn't see any of the improvement promised (i.e, where's the infrastructure spending? Maybe bridges and railroads are better than a wall? Is Apple bringing the iPhone production back to US? What about GM slashing thousands of jobs?), and may soon be bitten by an economy slowing down because of tariffs uncertainty and other reasons, he needs to shift attention on something else which is perfect for some simple polarizing propaganda.