Moved everything from the start method to the main method to avoid the KVO nonsense for NSOperation