Cleaned up with StyleCop

Also did some manual cleanup like changing events to use EventHandler<T> instead of custom delegates for simplicity.