I love the predecessor functionality, because it does help make things easier when dates need to shift. However, there are certain dates that cannot be shifted sometimes (a key milestone that has to be met, or a meeting with execs that will take place on a certain day). I wish there was a functionality to LOCK those dates in, but still be able to indicate which tasks on the project plan are predecessors and HAVE to be done before that date.
So the idea would be: