Clean up - removing work arounds for bugs

1. Removed worked arounds that were previously applied for bugs as they are fixed now.
2. Sorted all using statements. Moved System.* to the top.
3. Fixed some of the code to follow engineering guidelines.
4. Making use of async as applicable.