Finished Optimization

All external class references are now pointers, and all internal ones
are dealt within its own class