A wrapper of the GCDs dispatch_source to use instead of NSTimer