Spaced repetition algorithm module that can be used as a mixin in Ruby apps