Refactoring + Adding Build Script

- Adding build script to create NuGet package
- Refactoring code to tidy up extension methods