[Fixes #70218928] Finished FA Abstraction

Removed the flooding algorithm from inside Truck.java.
Created a generic interface.
Moved it into it's own implementation of said interface.
Added calls to interface methods.
Added getters and setters residual to this update. (might refactor and
separate those after review)