Add some documentation to the header file. Made private method look private. Made waitWithTimeout be NSTimeInterval.

Changing waitWithTimeout from NSUInteger to NSTimeInterval as NSTimeInterval makes it more clear we are dealing with seconds.