+ /** @param t A Smart pointer to a Task
+ * @return Oldest token received by this Task that was sent by Task t */
+ std::shared_ptr<Token> get_token_from(TaskPtr t) const { return tokens_received_.at(t).front(); }
+ /** @param t A Smart pointer to a Task
+ * @return All tokens received by this Task that were sent by Task t */
+ std::deque<std::shared_ptr<Token>> get_tokens_from(TaskPtr t) const { return tokens_received_.at(t); }
+ /** @param t A Smart pointer to a Task
+ * @brief Pop the oldest token received by this Task that was sent by Task t */
+ void deque_token_from(TaskPtr t);
+ /** @param t A Smart pointer to a Task
+ * @brief Add t as a successor of this Task */