diff --git a/demos/MyModelArgs.rb b/demos/MyModelArgs.rb
index db78ae0dafacd36f44dac3bd12eddd2a9a9287af..b9d24840ada5483e7c3a67d62e1f9f3eae78ce9f 100644
--- a/demos/MyModelArgs.rb
+++ b/demos/MyModelArgs.rb
@@ -11,10 +11,13 @@ class MyModel
   end
 
   def increment(n:, char:)
-    @x += n
-    schedule(:increment, 2.0 * rand(2), n: @x, char: char - 1, priority: 3)
-    printf "%f, %f, %c\n", model_time, @x, char
-    cancel_all :increment if model_time > 10
+    if model_time < 10.0
+      @x += n
+      schedule(:increment, rand(3), n: @x, char: char - 1, priority: 3)
+      printf "%f, %f, %c\n", model_time, @x, char
+    else
+      cancel_all :increment
+    end
   end
 end
 
diff --git a/lib/simplekit.rb b/lib/simplekit.rb
index e4ef4d23b16186275efefbcd3ae3334e0462400c..82e3155d514cc674d71af6f8cd826254145af732 100644
--- a/lib/simplekit.rb
+++ b/lib/simplekit.rb
@@ -54,7 +54,7 @@ module SimpleKit
     #   - +args+ -> zero or more named arguments to pass to the event
     #     at invocation time. These should be specified with labels, and
     #     consequently they can be placed in any order.
-    def schedule(event, delay, **args)
+    def schedule(event, delay, args = {})
       raise 'Model scheduled event with negative delay.' if delay < 0
       @event_list.push EventNotice.new(event, @model_time, delay, args)
     end
@@ -65,9 +65,10 @@ module SimpleKit
     # all be a match with the corresponding +args+ of the scheduled event
     # in order for the cancellation to apply, but +args+ which are not
     # specified do not affect the target event matching.
-    def cancel(event, **args)
+    def cancel(event, args = {})
       @cancel_set[event] ||= Set.new
-      @cancel_set[event].add(args.empty? ? nil : args)
+      # @cancel_set[event].add(args.empty? ? nil : args)
+      @cancel_set[event].add(args)
     end
 
     # Cancel all currently scheduled events of type +event+.
@@ -96,7 +97,7 @@ module SimpleKit
         if current_event.args.empty?
           @user_model.send(current_event.event)
         else
-          @user_model.send(current_event.event, current_event.args)
+          @user_model.send(current_event.event, **current_event.args)
         end
       end
     end
diff --git a/simplekit.gemspec b/simplekit.gemspec
index b55126520421c292ebc4f89399d5b0d5b61463ea..c48b985a9220fcf2f6e9b2402487227b15d5d57c 100644
--- a/simplekit.gemspec
+++ b/simplekit.gemspec
@@ -1,10 +1,10 @@
 # -*- ruby -*-
-_VERSION = "1.0.0"
+_VERSION = "1.1.0"
 
 Gem::Specification.new do |s|
   s.name = "simplekit"
   s.version = _VERSION
-  s.date = "2018-07-12"
+  s.date = "2020-04-09"
   s.summary = "Discrete event simulation engine."
   s.homepage = "https://gitlab.nps.edu/pjsanche/simplekit-ruby.git"
   s.email = "pjs@alum.mit.edu"