some basic python objects for building and managing simple markov chains