Refactoring

Moved Controls into separate project, DLL gives flexibility.
Also refactored many classes.