Centralise buildIcon/Time in Entity.
Delay before building, not after.
Explicitly ordering TickUpdate functions.

SendMessage does not guarantee the order in which scripts receive the
message, so may lead to desyncs.
Attack/Move/UIAction still use SendMessage, but it's assumed that
entities have exactly one script that responds to them.
Smart projectiles
Remove stray material from Truck.
Vehicle animation stuff.
Duck stuff.
Giant robot that shoots missile.
Balance and stuff.