Broke move out into its own class
Removed move class and added an add all moves class
Added a clone method
First pass at patterns.