Minor Refactoring to move dispersion strategy to its own package.
Added support for loops, including self loop. Added a sample program to demo loops.