diff --git a/allclasses-index.html b/allclasses-index.html
index 3965b36cd7a55410de253e44861ee51e17648eec..009535269fd9dd714efc0162886fd74a65cb3288 100644
--- a/allclasses-index.html
+++ b/allclasses-index.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>All Classes (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -27,8 +27,8 @@
     catch(err) {
     }
 //-->
-var data = {"i0":2,"i1":2,"i2":8,"i3":2,"i4":2,"i5":2,"i6":2,"i7":1,"i8":1,"i9":2,"i10":2,"i11":1,"i12":2,"i13":2,"i14":2,"i15":1,"i16":8,"i17":2,"i18":2,"i19":1};
-var tabs = {65535:["t0","All Classes"],1:["t1","Interface Summary"],2:["t2","Class Summary"],8:["t4","Exception Summary"]};
+var data = {"i0":2,"i1":2,"i2":2,"i3":2,"i4":2,"i5":8,"i6":2,"i7":2,"i8":2,"i9":2,"i10":2,"i11":2,"i12":2,"i13":2,"i14":2,"i15":2,"i16":8,"i17":2,"i18":2,"i19":2,"i20":2};
+var tabs = {65535:["t0","All Classes"],2:["t2","Class Summary"],8:["t4","Exception Summary"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -106,142 +106,139 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <table class="typeSummary">
-<caption><span id="t0" class="activeTableTab"><span>All Classes</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Interface Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Class Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Exception Summary</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Classes</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Class Summary</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Exception Summary</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Class</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></td>
+<td class="colFirst"><a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></td>
 <th class="colLast" scope="row">
-<div class="block">This implementation of a <a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in a CSV file.</div>
+<div class="block">This interface is supposed to bind the type of <code>RichSourceFunction</code> to
+ <a href="beamline/events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> and to provide minimal infrastructure to check if the sourece
+ is currently running.</div>
 </th>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></td>
-<th class="colLast" scope="row">
-<div class="block">This class represents a directly follows relation as produced by
- <a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
-</th>
+<td class="colFirst"><a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><a href="beamline/exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></td>
-<th class="colLast" scope="row">&nbsp;</th>
+<td class="colFirst"><a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></td>
+<th class="colLast" scope="row">
+<div class="block">This implementation of a <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in a CSV file.</div>
+</th>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><a href="beamline/utils/EventUtils.html" title="class in beamline.utils">EventUtils</a></td>
+<td class="colFirst"><a href="beamline/sources/CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></td>
 <th class="colLast" scope="row">
-<div class="block">This class contains some utility methods useful to handle and process events.</div>
+<div class="block">This class is used to configure the parser of the CSV</div>
 </th>
 </tr>
 <tr id="i4" class="altColor">
+<td class="colFirst"><a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></td>
+<th class="colLast" scope="row">
+<div class="block">This class represents a directly follows relation as produced by
+ <a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
+</th>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><a href="beamline/exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i6" class="altColor">
 <td class="colFirst"><a href="beamline/filters/ExcludeActivitiesFilter.html" title="class in beamline.filters">ExcludeActivitiesFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">A specific instance of the <a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><code>ExcludeOnEventAttributeEqualityFilter</code></a> that
  considers the name of the activity as attribute to filter.</div>
 </th>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnCaseAttributeEqualityFilter</a>&lt;<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="type parameter in ExcludeOnCaseAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt;</td>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnCaseAttributeEqualityFilter</a>&lt;<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="type parameter in ExcludeOnCaseAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This filter excludes events based on the equality of a certain trace
  attribute to a given set of values.</div>
 </th>
 </tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a>&lt;<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="type parameter in ExcludeOnEventAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt;</td>
+<tr id="i8" class="altColor">
+<td class="colFirst"><a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a>&lt;<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="type parameter in ExcludeOnEventAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This filter excludes events based on the equality of a certain event
  attribute to a given set of values.</div>
 </th>
 </tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><a href="beamline/models/responses/GraphvizResponse.html" title="interface in beamline.models.responses">GraphvizResponse</a></td>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><a href="beamline/models/responses/GraphvizResponse.html" title="class in beamline.models.responses">GraphvizResponse</a></td>
 <th class="colLast" scope="row">
-<div class="block">A refined <a href="beamline/models/responses/Response.html" title="interface in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
+<div class="block">A refined <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
  language.</div>
 </th>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><a href="beamline/models/algorithms/HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a></td>
-<th class="colLast" scope="row">
-<div class="block">This interface defines the structure of the callback function that a
- <a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><code>StreamMiningAlgorithm</code></a> can execute (cf.,
- <a href="beamline/models/algorithms/StreamMiningAlgorithm.html#setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnBeforeEvent(HookEventProcessing)</code></a> and
- <a href="beamline/models/algorithms/StreamMiningAlgorithm.html#setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnAfterEvent(HookEventProcessing)</code></a>).</div>
-</th>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers">InfiniteSizeDirectlyFollowsMapper</a></td>
+<tr id="i10" class="altColor">
+<td class="colFirst"><a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">InfiniteSizeDirectlyFollowsMapper</a></td>
 <th class="colLast" scope="row">
 <div class="block">This mapper transforms a stream of <code>XTrace</code>s into a stream of
- <a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers"><code>DirectlyFollowsRelation</code></a>s.</div>
+ <a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses"><code>DirectlyFollowsRelation</code></a>s.</div>
 </th>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></td>
 <th class="colLast" scope="row">
-<div class="block">This implementation of a <a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events as they are
- observed in an MQTT-XES broker.</div>
+<div class="block">This implementation of a <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events as
+ they are observed in an MQTT-XES broker.</div>
 </th>
 </tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><a href="beamline/models/responses/Response.html" title="interface in beamline.models.responses">Response</a></td>
+<tr id="i12" class="altColor">
+<td class="colFirst"><a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a></td>
 <th class="colLast" scope="row">
 <div class="block">Marker interface used to define the type of the responses</div>
 </th>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><a href="beamline/filters/RetainActivitiesFilter.html" title="class in beamline.filters">RetainActivitiesFilter</a></td>
 <th class="colLast" scope="row">
 <div class="block">A specific instance of the <a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><code>RetainOnEventAttributeEqualityFilter</code></a> that
  considers the name of the activity as attribute to filter.</div>
 </th>
 </tr>
-<tr id="i13" class="rowColor">
-<td class="colFirst"><a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnCaseAttributeEqualityFilter</a>&lt;<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="type parameter in RetainOnCaseAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt;</td>
+<tr id="i14" class="altColor">
+<td class="colFirst"><a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnCaseAttributeEqualityFilter</a>&lt;<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="type parameter in RetainOnCaseAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This filter retains events based on the equality of a certain trace
  attribute to a given set of values.</div>
 </th>
 </tr>
-<tr id="i14" class="altColor">
-<td class="colFirst"><a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a>&lt;<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="type parameter in RetainOnEventAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt;</td>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a>&lt;<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="type parameter in RetainOnEventAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This filter retains events based on the equality of a certain event
  attribute to a given set of values.</div>
 </th>
 </tr>
-<tr id="i15" class="rowColor">
-<td class="colFirst"><a href="beamline/sources/Source.html" title="interface in beamline.sources">Source</a>&lt;<a href="beamline/sources/Source.html" title="type parameter in Source">T</a>&gt;</td>
-<th class="colLast" scope="row">
-<div class="block">This interface is the base type that should be extended by all sources to be
- used in the framework.</div>
-</th>
-</tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><a href="beamline/exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></td>
 <th class="colLast" scope="row">&nbsp;</th>
 </tr>
 <tr id="i17" class="rowColor">
-<td class="colFirst"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a>&lt;<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>,&#8203;<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a>&gt;</td>
+<td class="colFirst"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a>&lt;<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a> extends <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a>&gt;</td>
 <th class="colLast" scope="row">
 <div class="block">This abstract class defines the root of the mining algorithms hierarchy.</div>
 </th>
 </tr>
 <tr id="i18" class="altColor">
-<td class="colFirst"><a href="beamline/sources/XesLogSource.html" title="class in beamline.sources">XesLogSource</a></td>
-<th class="colLast" scope="row">
-<div class="block">This implementation of a <a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in an <code>XLog</code>.</div>
-</th>
+<td class="colFirst"><a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses">StringResponse</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
 </tr>
 <tr id="i19" class="rowColor">
-<td class="colFirst"><a href="beamline/sources/XesSource.html" title="interface in beamline.sources">XesSource</a></td>
+<td class="colFirst"><a href="beamline/sources/StringTestSource.html" title="class in beamline.sources">StringTestSource</a></td>
+<th class="colLast" scope="row">&nbsp;</th>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><a href="beamline/sources/XesLogSource.html" title="class in beamline.sources">XesLogSource</a></td>
 <th class="colLast" scope="row">
-<div class="block">This interface is supposed just to bind the type of <a href="beamline/sources/Source.html" title="interface in beamline.sources"><code>Source</code></a> to
- <code>XTrace</code>.</div>
+<div class="block">This implementation of a <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in an <code>XLog</code>.</div>
 </th>
 </tr>
 </table>
diff --git a/allclasses.html b/allclasses.html
index b1c741d1b8dda9e48f38c14936eebccff5719575..8b02770293340c33d949085f3c5ef39a60e5661d 100644
--- a/allclasses.html
+++ b/allclasses.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>All Classes (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -21,26 +21,27 @@
 <h1 class="bar">All&nbsp;Classes</h1>
 <main role="main" class="indexContainer">
 <ul>
+<li><a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></li>
+<li><a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></li>
 <li><a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></li>
-<li><a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></li>
+<li><a href="beamline/sources/CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></li>
+<li><a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></li>
 <li><a href="beamline/exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></li>
-<li><a href="beamline/utils/EventUtils.html" title="class in beamline.utils">EventUtils</a></li>
 <li><a href="beamline/filters/ExcludeActivitiesFilter.html" title="class in beamline.filters">ExcludeActivitiesFilter</a></li>
 <li><a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnCaseAttributeEqualityFilter</a></li>
 <li><a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a></li>
-<li><a href="beamline/models/responses/GraphvizResponse.html" title="interface in beamline.models.responses"><span class="interfaceName">GraphvizResponse</span></a></li>
-<li><a href="beamline/models/algorithms/HookEventProcessing.html" title="interface in beamline.models.algorithms"><span class="interfaceName">HookEventProcessing</span></a></li>
-<li><a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers">InfiniteSizeDirectlyFollowsMapper</a></li>
+<li><a href="beamline/models/responses/GraphvizResponse.html" title="class in beamline.models.responses">GraphvizResponse</a></li>
+<li><a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">InfiniteSizeDirectlyFollowsMapper</a></li>
 <li><a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></li>
-<li><a href="beamline/models/responses/Response.html" title="interface in beamline.models.responses"><span class="interfaceName">Response</span></a></li>
+<li><a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a></li>
 <li><a href="beamline/filters/RetainActivitiesFilter.html" title="class in beamline.filters">RetainActivitiesFilter</a></li>
 <li><a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnCaseAttributeEqualityFilter</a></li>
 <li><a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a></li>
-<li><a href="beamline/sources/Source.html" title="interface in beamline.sources"><span class="interfaceName">Source</span></a></li>
 <li><a href="beamline/exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></li>
 <li><a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></li>
+<li><a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses">StringResponse</a></li>
+<li><a href="beamline/sources/StringTestSource.html" title="class in beamline.sources">StringTestSource</a></li>
 <li><a href="beamline/sources/XesLogSource.html" title="class in beamline.sources">XesLogSource</a></li>
-<li><a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><span class="interfaceName">XesSource</span></a></li>
 </ul>
 </main>
 </body>
diff --git a/allpackages-index.html b/allpackages-index.html
index f5965304a0a659fa3f23bc4e5c68df01be7705de..17198aa52ab11a5798adfe7e6318585ee0be3594 100644
--- a/allpackages-index.html
+++ b/allpackages-index.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>All Packages (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -107,20 +107,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="beamline/exceptions/package-summary.html">beamline.exceptions</a></th>
+<th class="colFirst" scope="row"><a href="beamline/events/package-summary.html">beamline.events</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="beamline/filters/package-summary.html">beamline.filters</a></th>
-<td class="colLast">
-<div class="block">This package contains some filters that are available by default in the
- framework.</div>
-</td>
+<th class="colFirst" scope="row"><a href="beamline/exceptions/package-summary.html">beamline.exceptions</a></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="beamline/mappers/package-summary.html">beamline.mappers</a></th>
+<th class="colFirst" scope="row"><a href="beamline/filters/package-summary.html">beamline.filters</a></th>
 <td class="colLast">
-<div class="block">This package contains some mappers that are available by default in the
+<div class="block">This package contains some filters that are available by default in the
  framework.</div>
 </td>
 </tr>
@@ -142,14 +139,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colFirst" scope="row"><a href="beamline/sources/package-summary.html">beamline.sources</a></th>
 <td class="colLast">
 <div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
-</td>
-</tr>
-<tr class="altColor">
-<th class="colFirst" scope="row"><a href="beamline/utils/package-summary.html">beamline.utils</a></th>
-<td class="colLast">
-<div class="block">This package contains utility classes to be used throughout the framework.</div>
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
 </td>
 </tr>
 </tbody>
diff --git a/beamline/events/BEvent.html b/beamline/events/BEvent.html
new file mode 100644
index 0000000000000000000000000000000000000000..e2cc2376c4f367c7344b79f36157b903bd38899f
--- /dev/null
+++ b/beamline/events/BEvent.html
@@ -0,0 +1,738 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>BEvent (framework 0.1.0 API)</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="dc.created" content="2022-03-25">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="../../jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="../../jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="BEvent (framework 0.1.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var data = {"i0":10,"i1":9,"i2":9,"i3":9,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+var pathtoroot = "../../";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BEvent.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<!-- ======== START OF CLASS DATA ======== -->
+<main role="main">
+<div class="header">
+<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.events</a></div>
+<h2 title="Class BEvent" class="title">Class BEvent</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>beamline.events.BEvent</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;<a href="BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code></dd>
+</dl>
+<hr>
+<pre>public class <span class="typeNameLabel">BEvent</span>
+extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
+implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;<a href="BEvent.html" title="class in beamline.events">BEvent</a>&gt;</pre>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.events.BEvent">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Constructor</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr class="altColor">
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">BEvent</a></span>()</code></th>
+<td class="colLast">
+<div class="block">Constructor of a new event</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</section>
+<!-- ========== METHOD SUMMARY =========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#compareTo(beamline.events.BEvent)">compareTo</a></span>&#8203;(<a href="BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;o)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(java.lang.String,java.lang.String,java.lang.String)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId)</code></th>
+<td class="colLast">
+<div class="block">Creates a new <code>XTrace</code> referring to one event.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static <a href="BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(java.lang.String,java.lang.String,java.lang.String,java.util.Date)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time)</code></th>
+<td class="colLast">
+<div class="block">Creates a new <a href="BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static <a href="BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(java.lang.String,java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;&nbsp;eventAttributes)</code></th>
+<td class="colLast">
+<div class="block">Creates a new <a href="BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;obj)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEventAttributes()">getEventAttributes</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEventName()">getEventName</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getEventTime()">getEventTime</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLogAttributes()">getLogAttributes</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessName()">getProcessName</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTraceAttributes()">getTraceAttributes</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTraceName()">getTraceName</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEventAttribute(java.lang.String,java.io.Serializable)">setEventAttribute</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                 <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&nbsp;value)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEventAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">setEventAttribute</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                 org.deckfour.xes.model.XAttribute&nbsp;value)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setEventName(java.lang.String)">setEventName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLogAttribute(java.lang.String,java.io.Serializable)">setLogAttribute</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+               <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&nbsp;value)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLogAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">setLogAttribute</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+               org.deckfour.xes.model.XAttribute&nbsp;value)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setProcessName(java.lang.String)">setProcessName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTimestamp(java.util.Date)">setTimestamp</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;timestamp)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTraceAttribute(java.lang.String,java.io.Serializable)">setTraceAttribute</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                 <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&nbsp;value)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i21" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTraceAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">setTraceAttribute</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                 org.deckfour.xes.model.XAttribute&nbsp;value)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i22" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setTraceName(java.lang.String)">setTraceName</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i23" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a id="&lt;init&gt;()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>BEvent</h4>
+<pre>public&nbsp;BEvent()</pre>
+<div class="block">Constructor of a new event</div>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<!-- ============ METHOD DETAIL ========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a id="create(java.lang.String,java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>create</h4>
+<pre class="methodSignature">public static&nbsp;<a href="BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;create&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;&nbsp;eventAttributes)
+                     throws <a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></pre>
+<div class="block">Creates a new <a href="BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>processName</code> - the name of the process</dd>
+<dd><code>activityName</code> - the name of the activity</dd>
+<dd><code>caseId</code> - the identifier of the process instance</dd>
+<dd><code>time</code> - the time when the event has happened</dd>
+<dd><code>eventAttributes</code> - a collection of string attributes for the event</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the new event</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></code> - this exception is thrown is incomplete information
+ is provided</dd>
+</dl>
+</li>
+</ul>
+<a id="create(java.lang.String,java.lang.String,java.lang.String,java.util.Date)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>create</h4>
+<pre class="methodSignature">public static&nbsp;<a href="BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;create&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time)
+                     throws <a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></pre>
+<div class="block">Creates a new <a href="BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>processName</code> - the name of the process</dd>
+<dd><code>activityName</code> - the name of the activity</dd>
+<dd><code>caseId</code> - the identifier of the process instance</dd>
+<dd><code>time</code> - the time when the event has happened</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the new event</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></code> - this exception is thrown is incomplete information
+ is provided</dd>
+</dl>
+</li>
+</ul>
+<a id="create(java.lang.String,java.lang.String,java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>create</h4>
+<pre class="methodSignature">public static&nbsp;<a href="BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;create&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId)
+                     throws <a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></pre>
+<div class="block">Creates a new <code>XTrace</code> referring to one event. The time of the
+ event is set to the current time</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>processName</code> - the name of the process</dd>
+<dd><code>activityName</code> - the name of the activity</dd>
+<dd><code>caseId</code> - the identifier of the process instance</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the new event</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></code> - this exception is thrown is incomplete information
+ is provided</dd>
+</dl>
+</li>
+</ul>
+<a id="setProcessName(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setProcessName</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setProcessName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+<a id="getProcessName()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getProcessName</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getProcessName()</pre>
+</li>
+</ul>
+<a id="setTraceName(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTraceName</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setTraceName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+<a id="getTraceName()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTraceName</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getTraceName()</pre>
+</li>
+</ul>
+<a id="setEventName(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setEventName</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setEventName&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
+</li>
+</ul>
+<a id="getEventName()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEventName</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getEventName()</pre>
+</li>
+</ul>
+<a id="setTimestamp(java.util.Date)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTimestamp</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setTimestamp&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;timestamp)</pre>
+</li>
+</ul>
+<a id="getEventTime()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEventTime</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;getEventTime()</pre>
+</li>
+</ul>
+<a id="getEventAttributes()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getEventAttributes</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;&nbsp;getEventAttributes()</pre>
+</li>
+</ul>
+<a id="getTraceAttributes()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTraceAttributes</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;&nbsp;getTraceAttributes()</pre>
+</li>
+</ul>
+<a id="getLogAttributes()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getLogAttributes</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;&nbsp;getLogAttributes()</pre>
+</li>
+</ul>
+<a id="setEventAttribute(java.lang.String,java.io.Serializable)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setEventAttribute</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setEventAttribute&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                              <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&nbsp;value)</pre>
+</li>
+</ul>
+<a id="setEventAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setEventAttribute</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setEventAttribute&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                              org.deckfour.xes.model.XAttribute&nbsp;value)</pre>
+</li>
+</ul>
+<a id="setTraceAttribute(java.lang.String,java.io.Serializable)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTraceAttribute</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setTraceAttribute&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                              <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&nbsp;value)</pre>
+</li>
+</ul>
+<a id="setTraceAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setTraceAttribute</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setTraceAttribute&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                              org.deckfour.xes.model.XAttribute&nbsp;value)</pre>
+</li>
+</ul>
+<a id="setLogAttribute(java.lang.String,java.io.Serializable)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLogAttribute</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setLogAttribute&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                            <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&nbsp;value)</pre>
+</li>
+</ul>
+<a id="setLogAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setLogAttribute</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setLogAttribute&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name,
+                            org.deckfour.xes.model.XAttribute&nbsp;value)</pre>
+</li>
+</ul>
+<a id="toString()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>toString</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a id="compareTo(beamline.events.BEvent)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compareTo</h4>
+<pre class="methodSignature">public&nbsp;int&nbsp;compareTo&#8203;(<a href="BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;o)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html?is-external=true#compareTo(T)" title="class or interface in java.lang" class="externalLink">compareTo</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;<a href="BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code></dd>
+</dl>
+</li>
+</ul>
+<a id="equals(java.lang.Object)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a id="hashCode()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+</div>
+</main>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/BEvent.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</nav>
+<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
+</footer>
+</body>
+</html>
diff --git a/beamline/events/class-use/BEvent.html b/beamline/events/class-use/BEvent.html
new file mode 100644
index 0000000000000000000000000000000000000000..c34ef4d3e6699630253119eab5a2237599f43867
--- /dev/null
+++ b/beamline/events/class-use/BEvent.html
@@ -0,0 +1,423 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.events.BEvent (framework 0.1.0 API)</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="dc.created" content="2022-03-25">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Uses of Class beamline.events.BEvent (framework 0.1.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var pathtoroot = "../../../";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../index.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../BEvent.html" title="class in beamline.events">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<main role="main">
+<div class="header">
+<h2 title="Uses of Class beamline.events.BEvent" class="title">Uses of Class<br>beamline.events.BEvent</h2>
+</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary">
+<caption><span>Packages that use <a href="../BEvent.html" title="class in beamline.events">BEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="#beamline.events">beamline.events</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="#beamline.filters">beamline.filters</a></th>
+<td class="colLast">
+<div class="block">This package contains some filters that are available by default in the
+ framework.</div>
+</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="#beamline.models.algorithms">beamline.models.algorithms</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes of the framework necessary to have mining
+ algorithms functioning.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="#beamline.models.responses">beamline.models.responses</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes of the framework necessary to handle the
+ responses of mining algorithms.</div>
+</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="#beamline.sources">beamline.sources</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes necessary to construct
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList">
+<section role="region"><a id="beamline.events">
+<!--   -->
+</a>
+<h3>Uses of <a href="../BEvent.html" title="class in beamline.events">BEvent</a> in <a href="../package-summary.html">beamline.events</a></h3>
+<table class="useSummary">
+<caption><span>Methods in <a href="../package-summary.html">beamline.events</a> that return <a href="../BEvent.html" title="class in beamline.events">BEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">BEvent.</span><code><span class="memberNameLink"><a href="../BEvent.html#create(java.lang.String,java.lang.String,java.lang.String)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId)</code></th>
+<td class="colLast">
+<div class="block">Creates a new <code>XTrace</code> referring to one event.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>static <a href="../BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">BEvent.</span><code><span class="memberNameLink"><a href="../BEvent.html#create(java.lang.String,java.lang.String,java.lang.String,java.util.Date)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time)</code></th>
+<td class="colLast">
+<div class="block">Creates a new <a href="../BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="../BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">BEvent.</span><code><span class="memberNameLink"><a href="../BEvent.html#create(java.lang.String,java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;&nbsp;eventAttributes)</code></th>
+<td class="colLast">
+<div class="block">Creates a new <a href="../BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary">
+<caption><span>Methods in <a href="../package-summary.html">beamline.events</a> with parameters of type <a href="../BEvent.html" title="class in beamline.events">BEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>int</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">BEvent.</span><code><span class="memberNameLink"><a href="../BEvent.html#compareTo(beamline.events.BEvent)">compareTo</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;o)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</section>
+</li>
+<li class="blockList">
+<section role="region"><a id="beamline.filters">
+<!--   -->
+</a>
+<h3>Uses of <a href="../BEvent.html" title="class in beamline.events">BEvent</a> in <a href="../../filters/package-summary.html">beamline.filters</a></h3>
+<table class="useSummary">
+<caption><span>Methods in <a href="../../filters/package-summary.html">beamline.filters</a> with parameters of type <a href="../BEvent.html" title="class in beamline.events">BEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">ExcludeOnCaseAttributeEqualityFilter.</span><code><span class="memberNameLink"><a href="../../filters/ExcludeOnCaseAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">ExcludeOnEventAttributeEqualityFilter.</span><code><span class="memberNameLink"><a href="../../filters/ExcludeOnEventAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">RetainOnCaseAttributeEqualityFilter.</span><code><span class="memberNameLink"><a href="../../filters/RetainOnCaseAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>boolean</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">RetainOnEventAttributeEqualityFilter.</span><code><span class="memberNameLink"><a href="../../filters/RetainOnEventAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</section>
+</li>
+<li class="blockList">
+<section role="region"><a id="beamline.models.algorithms">
+<!--   -->
+</a>
+<h3>Uses of <a href="../BEvent.html" title="class in beamline.events">BEvent</a> in <a href="../../models/algorithms/package-summary.html">beamline.models.algorithms</a></h3>
+<table class="useSummary">
+<caption><span>Methods in <a href="../../models/algorithms/package-summary.html">beamline.models.algorithms</a> with parameters of type <a href="../BEvent.html" title="class in beamline.events">BEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">StreamMiningAlgorithm.</span><code><span class="memberNameLink"><a href="../../models/algorithms/StreamMiningAlgorithm.html#flatMap(beamline.events.BEvent,org.apache.flink.util.Collector)">flatMap</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event,
+       org.apache.flink.util.Collector&lt;<a href="../../models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&gt;&nbsp;out)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../../models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">InfiniteSizeDirectlyFollowsMapper.</span><code><span class="memberNameLink"><a href="../../models/algorithms/InfiniteSizeDirectlyFollowsMapper.html#ingest(beamline.events.BEvent)">ingest</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>abstract <a href="../../models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">StreamMiningAlgorithm.</span><code><span class="memberNameLink"><a href="../../models/algorithms/StreamMiningAlgorithm.html#ingest(beamline.events.BEvent)">ingest</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
+<td class="colLast">
+<div class="block">This abstract method is what each derive class is expected to implement.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>protected <a href="../../models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">StreamMiningAlgorithm.</span><code><span class="memberNameLink"><a href="../../models/algorithms/StreamMiningAlgorithm.html#process(beamline.events.BEvent)">process</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</section>
+</li>
+<li class="blockList">
+<section role="region"><a id="beamline.models.responses">
+<!--   -->
+</a>
+<h3>Uses of <a href="../BEvent.html" title="class in beamline.events">BEvent</a> in <a href="../../models/responses/package-summary.html">beamline.models.responses</a></h3>
+<table class="useSummary">
+<caption><span>Methods in <a href="../../models/responses/package-summary.html">beamline.models.responses</a> that return <a href="../BEvent.html" title="class in beamline.events">BEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code><a href="../BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">DirectlyFollowsRelation.</span><code><span class="memberNameLink"><a href="../../models/responses/DirectlyFollowsRelation.html#getFrom()">getFrom</a></span>()</code></th>
+<td class="colLast">
+<div class="block">Returns the source event</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code><a href="../BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">DirectlyFollowsRelation.</span><code><span class="memberNameLink"><a href="../../models/responses/DirectlyFollowsRelation.html#getTo()">getTo</a></span>()</code></th>
+<td class="colLast">
+<div class="block">Returns the target event</div>
+</td>
+</tr>
+</tbody>
+</table>
+<table class="useSummary">
+<caption><span>Constructors in <a href="../../models/responses/package-summary.html">beamline.models.responses</a> with parameters of type <a href="../BEvent.html" title="class in beamline.events">BEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Constructor</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../models/responses/DirectlyFollowsRelation.html#%3Cinit%3E(beamline.events.BEvent,beamline.events.BEvent)">DirectlyFollowsRelation</a></span>&#8203;(<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;from,
+                       <a href="../BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;to)</code></th>
+<td class="colLast">
+<div class="block">Constructor</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+</li>
+<li class="blockList">
+<section role="region"><a id="beamline.sources">
+<!--   -->
+</a>
+<h3>Uses of <a href="../BEvent.html" title="class in beamline.events">BEvent</a> in <a href="../../sources/package-summary.html">beamline.sources</a></h3>
+<table class="useSummary">
+<caption><span>Method parameters in <a href="../../sources/package-summary.html">beamline.sources</a> with type arguments of type <a href="../BEvent.html" title="class in beamline.events">BEvent</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">CSVLogSource.</span><code><span class="memberNameLink"><a href="../../sources/CSVLogSource.html#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run</a></span>&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">MQTTXesSource.</span><code><span class="memberNameLink"><a href="../../sources/MQTTXesSource.html#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run</a></span>&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">StringTestSource.</span><code><span class="memberNameLink"><a href="../../sources/StringTestSource.html#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run</a></span>&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">XesLogSource.</span><code><span class="memberNameLink"><a href="../../sources/XesLogSource.html#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run</a></span>&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</section>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</main>
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../index.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../BEvent.html" title="class in beamline.events">Class</a></li>
+<li class="navBarCell1Rev">Use</li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<a id="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</nav>
+<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
+</footer>
+</body>
+</html>
diff --git a/beamline/utils/package-summary.html b/beamline/events/package-summary.html
similarity index 86%
rename from beamline/utils/package-summary.html
rename to beamline/events/package-summary.html
index 559eeb8fa6bc4ea8dbb2c8d401113ef097e5a720..fa20cab25af2822ead574270c0ae490306eb4fc4 100644
--- a/beamline/utils/package-summary.html
+++ b/beamline/events/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>beamline.utils (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>beamline.events (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="beamline.utils (framework 0.1.0 API)";
+            parent.document.title="beamline.events (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -94,14 +94,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h1 title="Package" class="title">Package&nbsp;beamline.utils</h1>
+<h1 title="Package" class="title">Package&nbsp;beamline.events</h1>
 </div>
 <div class="contentContainer">
-<section role="region"><a id="package.description">
-<!--   -->
-</a>
-<div class="block">This package contains utility classes to be used throughout the framework.</div>
-</section>
 <ul class="blockList">
 <li class="blockList">
 <table class="typeSummary">
@@ -112,10 +107,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="EventUtils.html" title="class in beamline.utils">EventUtils</a></th>
-<td class="colLast">
-<div class="block">This class contains some utility methods useful to handle and process events.</div>
-</td>
+<th class="colFirst" scope="row"><a href="BEvent.html" title="class in beamline.events">BEvent</a></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/beamline/mappers/package-tree.html b/beamline/events/package-tree.html
similarity index 84%
rename from beamline/mappers/package-tree.html
rename to beamline/events/package-tree.html
index d3ba59e1e1654f635cca340d148bc80fb697fa7c..68796c6c320eaee630fe82412a8313d86d2e1457 100644
--- a/beamline/mappers/package-tree.html
+++ b/beamline/events/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>beamline.mappers Class Hierarchy (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>beamline.events Class Hierarchy (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="beamline.mappers Class Hierarchy (framework 0.1.0 API)";
+            parent.document.title="beamline.events Class Hierarchy (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -94,7 +94,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h1 class="title">Hierarchy For Package beamline.mappers</h1>
+<h1 class="title">Hierarchy For Package beamline.events</h1>
 <span class="packageHierarchyLabel">Package Hierarchies:</span>
 <ul class="horizontal">
 <li><a href="../../overview-tree.html">All Packages</a></li>
@@ -106,8 +106,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul>
 <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Object</span></a>
 <ul>
-<li class="circle">beamline.mappers.<a href="DirectlyFollowsRelation.html" title="class in beamline.mappers"><span class="typeNameLink">DirectlyFollowsRelation</span></a></li>
-<li class="circle">beamline.mappers.<a href="InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers"><span class="typeNameLink">InfiniteSizeDirectlyFollowsMapper</span></a> (implements io.reactivex.rxjava3.functions.Function&lt;T,&#8203;R&gt;)</li>
+<li class="circle">beamline.events.<a href="BEvent.html" title="class in beamline.events"><span class="typeNameLink">BEvent</span></a> (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)</li>
 </ul>
 </li>
 </ul>
diff --git a/beamline/mappers/package-use.html b/beamline/events/package-use.html
similarity index 54%
rename from beamline/mappers/package-use.html
rename to beamline/events/package-use.html
index 7dffceba1a53050750599582a483033dbbadf2d7..fb7128d4516fa198cc9bdf8ac9b23cca8e41fa59 100644
--- a/beamline/mappers/package-use.html
+++ b/beamline/events/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Package beamline.mappers (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Package beamline.events (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package beamline.mappers (framework 0.1.0 API)";
+            parent.document.title="Uses of Package beamline.events (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -94,44 +94,135 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h1 title="Uses of Package beamline.mappers" class="title">Uses of Package<br>beamline.mappers</h1>
+<h1 title="Uses of Package beamline.events" class="title">Uses of Package<br>beamline.events</h1>
 </div>
 <div class="contentContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary">
-<caption><span>Packages that use <a href="package-summary.html">beamline.mappers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="package-summary.html">beamline.events</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="#beamline.mappers">beamline.mappers</a></th>
+<th class="colFirst" scope="row"><a href="#beamline.events">beamline.events</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="#beamline.filters">beamline.filters</a></th>
 <td class="colLast">
-<div class="block">This package contains some mappers that are available by default in the
+<div class="block">This package contains some filters that are available by default in the
  framework.</div>
 </td>
 </tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="#beamline.models.algorithms">beamline.models.algorithms</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes of the framework necessary to have mining
+ algorithms functioning.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="#beamline.models.responses">beamline.models.responses</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes of the framework necessary to handle the
+ responses of mining algorithms.</div>
+</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="#beamline.sources">beamline.sources</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes necessary to construct
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
+</td>
+</tr>
 </tbody>
 </table>
 </li>
-<li class="blockList"><a id="beamline.mappers">
+<li class="blockList"><a id="beamline.events">
 <!--   -->
 </a>
 <table class="useSummary">
-<caption><span>Classes in <a href="package-summary.html">beamline.mappers</a> used by <a href="package-summary.html">beamline.mappers</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Classes in <a href="package-summary.html">beamline.events</a> used by <a href="package-summary.html">beamline.events</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Class</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="class-use/DirectlyFollowsRelation.html#beamline.mappers">DirectlyFollowsRelation</a></th>
-<td class="colLast">
-<div class="block">This class represents a directly follows relation as produced by
- <a href="InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
-</td>
+<th class="colFirst" scope="row"><a href="class-use/BEvent.html#beamline.events">BEvent</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a id="beamline.filters">
+<!--   -->
+</a>
+<table class="useSummary">
+<caption><span>Classes in <a href="package-summary.html">beamline.events</a> used by <a href="../filters/package-summary.html">beamline.filters</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="class-use/BEvent.html#beamline.filters">BEvent</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a id="beamline.models.algorithms">
+<!--   -->
+</a>
+<table class="useSummary">
+<caption><span>Classes in <a href="package-summary.html">beamline.events</a> used by <a href="../models/algorithms/package-summary.html">beamline.models.algorithms</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="class-use/BEvent.html#beamline.models.algorithms">BEvent</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a id="beamline.models.responses">
+<!--   -->
+</a>
+<table class="useSummary">
+<caption><span>Classes in <a href="package-summary.html">beamline.events</a> used by <a href="../models/responses/package-summary.html">beamline.models.responses</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="class-use/BEvent.html#beamline.models.responses">BEvent</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList"><a id="beamline.sources">
+<!--   -->
+</a>
+<table class="useSummary">
+<caption><span>Classes in <a href="package-summary.html">beamline.events</a> used by <a href="../sources/package-summary.html">beamline.sources</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="class-use/BEvent.html#beamline.sources">BEvent</a></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
 </table>
diff --git a/beamline/exceptions/EventException.html b/beamline/exceptions/EventException.html
index 0be5052726a5869685cdd3b431536f7389f82ecc..eee49a4f6809bbd5077d2cc6354aad7365144c6d 100644
--- a/beamline/exceptions/EventException.html
+++ b/beamline/exceptions/EventException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>EventException (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
diff --git a/beamline/exceptions/SourceException.html b/beamline/exceptions/SourceException.html
index 33650d876c6cb3514d49643fcf75cd0c414ea83c..fc5de32f8e8e3d9517186634edf5cb7d90707377 100644
--- a/beamline/exceptions/SourceException.html
+++ b/beamline/exceptions/SourceException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>SourceException (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
diff --git a/beamline/exceptions/class-use/EventException.html b/beamline/exceptions/class-use/EventException.html
index c2ae68931539587101e084ca11d3342f80611c4a..e75293d3298a88cff535744403186bc51fb6b43c 100644
--- a/beamline/exceptions/class-use/EventException.html
+++ b/beamline/exceptions/class-use/EventException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.exceptions.EventException (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -107,10 +107,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="#beamline.utils">beamline.utils</a></th>
-<td class="colLast">
-<div class="block">This package contains utility classes to be used throughout the framework.</div>
-</td>
+<th class="colFirst" scope="row"><a href="#beamline.events">beamline.events</a></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -118,12 +116,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li class="blockList">
 <ul class="blockList">
 <li class="blockList">
-<section role="region"><a id="beamline.utils">
+<section role="region"><a id="beamline.events">
 <!--   -->
 </a>
-<h3>Uses of <a href="../EventException.html" title="class in beamline.exceptions">EventException</a> in <a href="../../utils/package-summary.html">beamline.utils</a></h3>
+<h3>Uses of <a href="../EventException.html" title="class in beamline.exceptions">EventException</a> in <a href="../../events/package-summary.html">beamline.events</a></h3>
 <table class="useSummary">
-<caption><span>Methods in <a href="../../utils/package-summary.html">beamline.utils</a> that throw <a href="../EventException.html" title="class in beamline.exceptions">EventException</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../events/package-summary.html">beamline.events</a> that throw <a href="../EventException.html" title="class in beamline.exceptions">EventException</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colSecond" scope="col">Method</th>
@@ -131,30 +129,33 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>static org.deckfour.xes.model.XTrace</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">EventUtils.</span><code><span class="memberNameLink"><a href="../../utils/EventUtils.html#create(java.lang.String,java.lang.String)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+<td class="colFirst"><code>static <a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">BEvent.</span><code><span class="memberNameLink"><a href="../../events/BEvent.html#create(java.lang.String,java.lang.String,java.lang.String)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
       <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId)</code></th>
 <td class="colLast">
 <div class="block">Creates a new <code>XTrace</code> referring to one event.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static org.deckfour.xes.model.XTrace</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">EventUtils.</span><code><span class="memberNameLink"><a href="../../utils/EventUtils.html#create(java.lang.String,java.lang.String,java.util.Date)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+<td class="colFirst"><code>static <a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">BEvent.</span><code><span class="memberNameLink"><a href="../../events/BEvent.html#create(java.lang.String,java.lang.String,java.lang.String,java.util.Date)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
       <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
       <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time)</code></th>
 <td class="colLast">
-<div class="block">Creates a new <code>XTrace</code> referring to one event</div>
+<div class="block">Creates a new <a href="../../events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static org.deckfour.xes.model.XTrace</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">EventUtils.</span><code><span class="memberNameLink"><a href="../../utils/EventUtils.html#create(java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
+<td class="colFirst"><code>static <a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">BEvent.</span><code><span class="memberNameLink"><a href="../../events/BEvent.html#create(java.lang.String,java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;processName,
+      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
       <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
       <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time,
       <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;&nbsp;eventAttributes)</code></th>
 <td class="colLast">
-<div class="block">Creates a new <code>XTrace</code> referring to one event</div>
+<div class="block">Creates a new <a href="../../events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
 </td>
 </tr>
 </tbody>
diff --git a/beamline/exceptions/class-use/SourceException.html b/beamline/exceptions/class-use/SourceException.html
index 12e18852d5f7174f4b212b09736a88f220a60698..91c53547b0461631ef194cb3300823ff2f8dff00 100644
--- a/beamline/exceptions/class-use/SourceException.html
+++ b/beamline/exceptions/class-use/SourceException.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.exceptions.SourceException (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -96,73 +96,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="header">
 <h2 title="Uses of Class beamline.exceptions.SourceException" class="title">Uses of Class<br>beamline.exceptions.SourceException</h2>
 </div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary">
-<caption><span>Packages that use <a href="../SourceException.html" title="class in beamline.exceptions">SourceException</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<th class="colFirst" scope="row"><a href="#beamline.sources">beamline.sources</a></th>
-<td class="colLast">
-<div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList">
-<section role="region"><a id="beamline.sources">
-<!--   -->
-</a>
-<h3>Uses of <a href="../SourceException.html" title="class in beamline.exceptions">SourceException</a> in <a href="../../sources/package-summary.html">beamline.sources</a></h3>
-<table class="useSummary">
-<caption><span>Methods in <a href="../../sources/package-summary.html">beamline.sources</a> that throw <a href="../SourceException.html" title="class in beamline.exceptions">SourceException</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Method</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">CSVLogSource.</span><code><span class="memberNameLink"><a href="../../sources/CSVLogSource.html#prepare()">prepare</a></span>()</code></th>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">MQTTXesSource.</span><code><span class="memberNameLink"><a href="../../sources/MQTTXesSource.html#prepare()">prepare</a></span>()</code></th>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">Source.</span><code><span class="memberNameLink"><a href="../../sources/Source.html#prepare()">prepare</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method is supposed to be called before the <a href="../../sources/Source.html#getObservable()"><code>Source.getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">XesLogSource.</span><code><span class="memberNameLink"><a href="../../sources/XesLogSource.html#prepare()">prepare</a></span>()</code></th>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</section>
-</li>
-</ul>
-</li>
-</ul>
-</div>
+<div class="classUseContainer">No usage of beamline.exceptions.SourceException</div>
 </main>
 <footer role="contentinfo">
 <nav role="navigation">
diff --git a/beamline/exceptions/package-summary.html b/beamline/exceptions/package-summary.html
index 28170918ef8d7700474a1c161fdb3b53a49bb6a0..139a80c8bd9c7e5217ace8b6e4c5eb7e055ca6e7 100644
--- a/beamline/exceptions/package-summary.html
+++ b/beamline/exceptions/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.exceptions (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
diff --git a/beamline/exceptions/package-tree.html b/beamline/exceptions/package-tree.html
index aa6abeaf4a10d4383c2b6e5cc82144b46fb000f0..6fefc4ce2c37fc28ef41e3214c9feaed334f02cf 100644
--- a/beamline/exceptions/package-tree.html
+++ b/beamline/exceptions/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.exceptions Class Hierarchy (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
diff --git a/beamline/exceptions/package-use.html b/beamline/exceptions/package-use.html
index 03bc0fdd867e6f3f6422a83f9cf9a8487ff6358f..d8a250458896a619acd6d044a24e1d4c52bdff0a 100644
--- a/beamline/exceptions/package-use.html
+++ b/beamline/exceptions/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Package beamline.exceptions (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -107,51 +107,24 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="#beamline.sources">beamline.sources</a></th>
-<td class="colLast">
-<div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<th class="colFirst" scope="row"><a href="#beamline.utils">beamline.utils</a></th>
-<td class="colLast">
-<div class="block">This package contains utility classes to be used throughout the framework.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a id="beamline.sources">
-<!--   -->
-</a>
-<table class="useSummary">
-<caption><span>Classes in <a href="package-summary.html">beamline.exceptions</a> used by <a href="../sources/package-summary.html">beamline.sources</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<th class="colFirst" scope="row"><a href="class-use/SourceException.html#beamline.sources">SourceException</a></th>
+<th class="colFirst" scope="row"><a href="#beamline.events">beamline.events</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
 </table>
 </li>
-<li class="blockList"><a id="beamline.utils">
+<li class="blockList"><a id="beamline.events">
 <!--   -->
 </a>
 <table class="useSummary">
-<caption><span>Classes in <a href="package-summary.html">beamline.exceptions</a> used by <a href="../utils/package-summary.html">beamline.utils</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Classes in <a href="package-summary.html">beamline.exceptions</a> used by <a href="../events/package-summary.html">beamline.events</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Class</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="class-use/EventException.html#beamline.utils">EventException</a></th>
+<th class="colFirst" scope="row"><a href="class-use/EventException.html#beamline.events">EventException</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
diff --git a/beamline/filters/ExcludeActivitiesFilter.html b/beamline/filters/ExcludeActivitiesFilter.html
index e62b44c259c2c7adfca82d9336b19b03e063bba5..74848376f7047a2497cd7790e0956bee080a956b 100644
--- a/beamline/filters/ExcludeActivitiesFilter.html
+++ b/beamline/filters/ExcludeActivitiesFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>ExcludeActivitiesFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -118,7 +118,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">beamline.filters.ExcludeOnEventAttributeEqualityFilter</a>&lt;org.deckfour.xes.model.XAttributeLiteral&gt;</li>
+<li><a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">beamline.filters.ExcludeOnEventAttributeEqualityFilter</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>beamline.filters.ExcludeActivitiesFilter</li>
@@ -132,16 +132,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code>io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code>, <code>org.apache.flink.api.common.functions.Function</code></dd>
 </dl>
 <hr>
 <pre>public class <span class="typeNameLabel">ExcludeActivitiesFilter</span>
-extends <a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a>&lt;org.deckfour.xes.model.XAttributeLiteral&gt;</pre>
+extends <a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</pre>
 <div class="block">A specific instance of the <a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><code>ExcludeOnEventAttributeEqualityFilter</code></a> that
  considers the name of the activity as attribute to filter.</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.filters.ExcludeActivitiesFilter">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -184,7 +186,7 @@ extends <a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in bea
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;beamline.filters.<a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a></h3>
-<code><a href="ExcludeOnEventAttributeEqualityFilter.html#addValue(T)">addValue</a>, <a href="ExcludeOnEventAttributeEqualityFilter.html#test(org.deckfour.xes.model.XTrace)">test</a></code></li>
+<code><a href="ExcludeOnEventAttributeEqualityFilter.html#addValue(T)">addValue</a>, <a href="ExcludeOnEventAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html b/beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html
index 8dd1dafabd1fc2f218256b40bdaa6067426090e1..af35c44a3bb27a94b8c568ff3ed1173f9019527c 100644
--- a/beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html
+++ b/beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>ExcludeOnCaseAttributeEqualityFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <main role="main">
 <div class="header">
 <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.filters</a></div>
-<h2 title="Class ExcludeOnCaseAttributeEqualityFilter" class="title">Class ExcludeOnCaseAttributeEqualityFilter&lt;T extends org.deckfour.xes.model.XAttribute&gt;</h2>
+<h2 title="Class ExcludeOnCaseAttributeEqualityFilter" class="title">Class ExcludeOnCaseAttributeEqualityFilter&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
@@ -137,12 +137,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code>io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code>, <code>org.apache.flink.api.common.functions.Function</code></dd>
 </dl>
 <hr>
-<pre>public class <span class="typeNameLabel">ExcludeOnCaseAttributeEqualityFilter&lt;T extends org.deckfour.xes.model.XAttribute&gt;</span>
+<pre>public class <span class="typeNameLabel">ExcludeOnCaseAttributeEqualityFilter&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</span>
 extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</pre>
+implements org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</pre>
 <div class="block">This filter excludes events based on the equality of a certain trace
  attribute to a given set of values. Values are considered in disjunction
  (i.e., it is enough that the attribute is equal to one of the values to
@@ -150,6 +150,8 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.filters.ExcludeOnCaseAttributeEqualityFilter">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -197,7 +199,7 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#test(org.deckfour.xes.model.XTrace)">test</a></span>&#8203;(@NonNull org.deckfour.xes.model.XTrace&nbsp;t)</code></th>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filter(beamline.events.BEvent)">filter</a></span>&#8203;(<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 </table>
@@ -224,7 +226,7 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a id="&lt;init&gt;(java.lang.String,org.deckfour.xes.model.XAttribute[])">
+<a id="&lt;init&gt;(java.lang.String,java.io.Serializable[])">
 <!--   -->
 </a><a id="&lt;init&gt;(java.lang.String,T...)">
 <!--   -->
@@ -253,20 +255,16 @@ public&nbsp;ExcludeOnCaseAttributeEqualityFilter&#8203;(<a href="https://docs.or
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="test(org.deckfour.xes.model.XTrace)">
+<a id="filter(beamline.events.BEvent)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>test</h4>
-<pre class="methodSignature">public&nbsp;boolean&nbsp;test&#8203;(@NonNull
-                    @NonNull org.deckfour.xes.model.XTrace&nbsp;t)
-             throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></pre>
+<h4>filter</h4>
+<pre class="methodSignature">public&nbsp;boolean&nbsp;filter&#8203;(<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>test</code>&nbsp;in interface&nbsp;<code>io.reactivex.rxjava3.functions.Predicate&lt;<a href="ExcludeOnCaseAttributeEqualityFilter.html" title="type parameter in ExcludeOnCaseAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></code></dd>
+<dd><code>filter</code>&nbsp;in interface&nbsp;<code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="ExcludeOnCaseAttributeEqualityFilter.html" title="type parameter in ExcludeOnCaseAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
diff --git a/beamline/filters/ExcludeOnEventAttributeEqualityFilter.html b/beamline/filters/ExcludeOnEventAttributeEqualityFilter.html
index 07a887e1d680893ebbd449e379c3f4ff8ff62c97..e0e9eda5c5af82f9c52f0fc4cff3f048e249ef90 100644
--- a/beamline/filters/ExcludeOnEventAttributeEqualityFilter.html
+++ b/beamline/filters/ExcludeOnEventAttributeEqualityFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>ExcludeOnEventAttributeEqualityFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <main role="main">
 <div class="header">
 <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.filters</a></div>
-<h2 title="Class ExcludeOnEventAttributeEqualityFilter" class="title">Class ExcludeOnEventAttributeEqualityFilter&lt;T extends org.deckfour.xes.model.XAttribute&gt;</h2>
+<h2 title="Class ExcludeOnEventAttributeEqualityFilter" class="title">Class ExcludeOnEventAttributeEqualityFilter&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
@@ -137,16 +137,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code>io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code>, <code>org.apache.flink.api.common.functions.Function</code></dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
 <dd><code><a href="ExcludeActivitiesFilter.html" title="class in beamline.filters">ExcludeActivitiesFilter</a></code></dd>
 </dl>
 <hr>
-<pre>public class <span class="typeNameLabel">ExcludeOnEventAttributeEqualityFilter&lt;T extends org.deckfour.xes.model.XAttribute&gt;</span>
+<pre>public class <span class="typeNameLabel">ExcludeOnEventAttributeEqualityFilter&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</span>
 extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</pre>
+implements org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</pre>
 <div class="block">This filter excludes events based on the equality of a certain event
  attribute to a given set of values. Values are considered in disjunction
  (i.e., it is enough that the attribute is equal to one of the values to
@@ -154,6 +154,8 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.filters.ExcludeOnEventAttributeEqualityFilter">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -208,7 +210,7 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#test(org.deckfour.xes.model.XTrace)">test</a></span>&#8203;(@NonNull org.deckfour.xes.model.XTrace&nbsp;t)</code></th>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filter(beamline.events.BEvent)">filter</a></span>&#8203;(<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 </table>
@@ -235,7 +237,7 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a id="&lt;init&gt;(java.lang.String,org.deckfour.xes.model.XAttribute[])">
+<a id="&lt;init&gt;(java.lang.String,java.io.Serializable[])">
 <!--   -->
 </a><a id="&lt;init&gt;(java.lang.String,T...)">
 <!--   -->
@@ -264,7 +266,7 @@ public&nbsp;ExcludeOnEventAttributeEqualityFilter&#8203;(<a href="https://docs.o
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="addValue(org.deckfour.xes.model.XAttribute)">
+<a id="addValue(java.io.Serializable)">
 <!--   -->
 </a><a id="addValue(T)">
 <!--   -->
@@ -280,20 +282,16 @@ public&nbsp;ExcludeOnEventAttributeEqualityFilter&#8203;(<a href="https://docs.o
 </dl>
 </li>
 </ul>
-<a id="test(org.deckfour.xes.model.XTrace)">
+<a id="filter(beamline.events.BEvent)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>test</h4>
-<pre class="methodSignature">public&nbsp;boolean&nbsp;test&#8203;(@NonNull
-                    @NonNull org.deckfour.xes.model.XTrace&nbsp;t)
-             throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></pre>
+<h4>filter</h4>
+<pre class="methodSignature">public&nbsp;boolean&nbsp;filter&#8203;(<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>test</code>&nbsp;in interface&nbsp;<code>io.reactivex.rxjava3.functions.Predicate&lt;<a href="ExcludeOnEventAttributeEqualityFilter.html" title="type parameter in ExcludeOnEventAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></code></dd>
+<dd><code>filter</code>&nbsp;in interface&nbsp;<code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="ExcludeOnEventAttributeEqualityFilter.html" title="type parameter in ExcludeOnEventAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
diff --git a/beamline/filters/RetainActivitiesFilter.html b/beamline/filters/RetainActivitiesFilter.html
index 794d3775769043bce782d667e2b9d440d4b4ea90..bf29ef46567d417efca4dafd8a8167bc66d7f7d2 100644
--- a/beamline/filters/RetainActivitiesFilter.html
+++ b/beamline/filters/RetainActivitiesFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>RetainActivitiesFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -118,7 +118,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li><a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">beamline.filters.RetainOnEventAttributeEqualityFilter</a>&lt;org.deckfour.xes.model.XAttributeLiteral&gt;</li>
+<li><a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">beamline.filters.RetainOnEventAttributeEqualityFilter</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</li>
 <li>
 <ul class="inheritance">
 <li>beamline.filters.RetainActivitiesFilter</li>
@@ -132,16 +132,18 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code>io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code>, <code>org.apache.flink.api.common.functions.Function</code></dd>
 </dl>
 <hr>
 <pre>public class <span class="typeNameLabel">RetainActivitiesFilter</span>
-extends <a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a>&lt;org.deckfour.xes.model.XAttributeLiteral&gt;</pre>
+extends <a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</pre>
 <div class="block">A specific instance of the <a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><code>RetainOnEventAttributeEqualityFilter</code></a> that
  considers the name of the activity as attribute to filter.</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.filters.RetainActivitiesFilter">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -184,7 +186,7 @@ extends <a href="RetainOnEventAttributeEqualityFilter.html" title="class in beam
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;beamline.filters.<a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a></h3>
-<code><a href="RetainOnEventAttributeEqualityFilter.html#addValue(T)">addValue</a>, <a href="RetainOnEventAttributeEqualityFilter.html#test(org.deckfour.xes.model.XTrace)">test</a></code></li>
+<code><a href="RetainOnEventAttributeEqualityFilter.html#addValue(T)">addValue</a>, <a href="RetainOnEventAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
diff --git a/beamline/filters/RetainOnCaseAttributeEqualityFilter.html b/beamline/filters/RetainOnCaseAttributeEqualityFilter.html
index c5e31b5973b9adb5d8694a352285f05dce2495f5..4ab5f32f98d04bd82df028231543a46d5dbf9223 100644
--- a/beamline/filters/RetainOnCaseAttributeEqualityFilter.html
+++ b/beamline/filters/RetainOnCaseAttributeEqualityFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>RetainOnCaseAttributeEqualityFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <main role="main">
 <div class="header">
 <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.filters</a></div>
-<h2 title="Class RetainOnCaseAttributeEqualityFilter" class="title">Class RetainOnCaseAttributeEqualityFilter&lt;T extends org.deckfour.xes.model.XAttribute&gt;</h2>
+<h2 title="Class RetainOnCaseAttributeEqualityFilter" class="title">Class RetainOnCaseAttributeEqualityFilter&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
@@ -137,12 +137,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code>io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code>, <code>org.apache.flink.api.common.functions.Function</code></dd>
 </dl>
 <hr>
-<pre>public class <span class="typeNameLabel">RetainOnCaseAttributeEqualityFilter&lt;T extends org.deckfour.xes.model.XAttribute&gt;</span>
+<pre>public class <span class="typeNameLabel">RetainOnCaseAttributeEqualityFilter&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</span>
 extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</pre>
+implements org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</pre>
 <div class="block">This filter retains events based on the equality of a certain trace
  attribute to a given set of values. Values are considered in disjunction
  (i.e., it is enough that the attribute is equal to one of the values to
@@ -150,6 +150,8 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.filters.RetainOnCaseAttributeEqualityFilter">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -197,7 +199,7 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#test(org.deckfour.xes.model.XTrace)">test</a></span>&#8203;(@NonNull org.deckfour.xes.model.XTrace&nbsp;t)</code></th>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filter(beamline.events.BEvent)">filter</a></span>&#8203;(<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 </table>
@@ -224,7 +226,7 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a id="&lt;init&gt;(java.lang.String,org.deckfour.xes.model.XAttribute[])">
+<a id="&lt;init&gt;(java.lang.String,java.io.Serializable[])">
 <!--   -->
 </a><a id="&lt;init&gt;(java.lang.String,T...)">
 <!--   -->
@@ -253,20 +255,16 @@ public&nbsp;RetainOnCaseAttributeEqualityFilter&#8203;(<a href="https://docs.ora
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="test(org.deckfour.xes.model.XTrace)">
+<a id="filter(beamline.events.BEvent)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>test</h4>
-<pre class="methodSignature">public&nbsp;boolean&nbsp;test&#8203;(@NonNull
-                    @NonNull org.deckfour.xes.model.XTrace&nbsp;t)
-             throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></pre>
+<h4>filter</h4>
+<pre class="methodSignature">public&nbsp;boolean&nbsp;filter&#8203;(<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;t)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>test</code>&nbsp;in interface&nbsp;<code>io.reactivex.rxjava3.functions.Predicate&lt;<a href="RetainOnCaseAttributeEqualityFilter.html" title="type parameter in RetainOnCaseAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></code></dd>
+<dd><code>filter</code>&nbsp;in interface&nbsp;<code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="RetainOnCaseAttributeEqualityFilter.html" title="type parameter in RetainOnCaseAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
diff --git a/beamline/filters/RetainOnEventAttributeEqualityFilter.html b/beamline/filters/RetainOnEventAttributeEqualityFilter.html
index e2eadafb61ee731511dd1bc5a50cbf4dc18cdc71..5e82995a27df939dc89872335802a51570588e77 100644
--- a/beamline/filters/RetainOnEventAttributeEqualityFilter.html
+++ b/beamline/filters/RetainOnEventAttributeEqualityFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>RetainOnEventAttributeEqualityFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -117,7 +117,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <main role="main">
 <div class="header">
 <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.filters</a></div>
-<h2 title="Class RetainOnEventAttributeEqualityFilter" class="title">Class RetainOnEventAttributeEqualityFilter&lt;T extends org.deckfour.xes.model.XAttribute&gt;</h2>
+<h2 title="Class RetainOnEventAttributeEqualityFilter" class="title">Class RetainOnEventAttributeEqualityFilter&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
@@ -137,16 +137,16 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </dl>
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code>io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code>, <code>org.apache.flink.api.common.functions.Function</code></dd>
 </dl>
 <dl>
 <dt>Direct Known Subclasses:</dt>
 <dd><code><a href="RetainActivitiesFilter.html" title="class in beamline.filters">RetainActivitiesFilter</a></code></dd>
 </dl>
 <hr>
-<pre>public class <span class="typeNameLabel">RetainOnEventAttributeEqualityFilter&lt;T extends org.deckfour.xes.model.XAttribute&gt;</span>
+<pre>public class <span class="typeNameLabel">RetainOnEventAttributeEqualityFilter&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</span>
 extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XTrace&gt;</pre>
+implements org.apache.flink.api.common.functions.FilterFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</pre>
 <div class="block">This filter retains events based on the equality of a certain event
  attribute to a given set of values. Values are considered in disjunction
  (i.e., it is enough that the attribute is equal to one of the values to
@@ -154,6 +154,8 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.filters.RetainOnEventAttributeEqualityFilter">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -208,7 +210,7 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#test(org.deckfour.xes.model.XTrace)">test</a></span>&#8203;(@NonNull org.deckfour.xes.model.XTrace&nbsp;t)</code></th>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#filter(beamline.events.BEvent)">filter</a></span>&#8203;(<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 </table>
@@ -235,7 +237,7 @@ implements io.reactivex.rxjava3.functions.Predicate&lt;org.deckfour.xes.model.XT
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a id="&lt;init&gt;(java.lang.String,org.deckfour.xes.model.XAttribute[])">
+<a id="&lt;init&gt;(java.lang.String,java.io.Serializable[])">
 <!--   -->
 </a><a id="&lt;init&gt;(java.lang.String,T...)">
 <!--   -->
@@ -264,7 +266,7 @@ public&nbsp;RetainOnEventAttributeEqualityFilter&#8203;(<a href="https://docs.or
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="addValue(org.deckfour.xes.model.XAttribute)">
+<a id="addValue(java.io.Serializable)">
 <!--   -->
 </a><a id="addValue(T)">
 <!--   -->
@@ -280,20 +282,16 @@ public&nbsp;RetainOnEventAttributeEqualityFilter&#8203;(<a href="https://docs.or
 </dl>
 </li>
 </ul>
-<a id="test(org.deckfour.xes.model.XTrace)">
+<a id="filter(beamline.events.BEvent)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>test</h4>
-<pre class="methodSignature">public&nbsp;boolean&nbsp;test&#8203;(@NonNull
-                    @NonNull org.deckfour.xes.model.XTrace&nbsp;t)
-             throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></pre>
+<h4>filter</h4>
+<pre class="methodSignature">public&nbsp;boolean&nbsp;filter&#8203;(<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>test</code>&nbsp;in interface&nbsp;<code>io.reactivex.rxjava3.functions.Predicate&lt;<a href="RetainOnEventAttributeEqualityFilter.html" title="type parameter in RetainOnEventAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></code></dd>
+<dd><code>filter</code>&nbsp;in interface&nbsp;<code>org.apache.flink.api.common.functions.FilterFunction&lt;<a href="RetainOnEventAttributeEqualityFilter.html" title="type parameter in RetainOnEventAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</code></dd>
 </dl>
 </li>
 </ul>
diff --git a/beamline/filters/class-use/ExcludeActivitiesFilter.html b/beamline/filters/class-use/ExcludeActivitiesFilter.html
index 202d1043b0cef934d886794a3607e7b9f768c8ac..d51b41edd90d270964f75e4da2eb9b578b7f5923 100644
--- a/beamline/filters/class-use/ExcludeActivitiesFilter.html
+++ b/beamline/filters/class-use/ExcludeActivitiesFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.filters.ExcludeActivitiesFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/filters/class-use/ExcludeOnCaseAttributeEqualityFilter.html b/beamline/filters/class-use/ExcludeOnCaseAttributeEqualityFilter.html
index e4f038c5ea4c278ad10f67ff452ca508293742ec..d5ca536cdef488b283b44df08326a83ebbdc6113 100644
--- a/beamline/filters/class-use/ExcludeOnCaseAttributeEqualityFilter.html
+++ b/beamline/filters/class-use/ExcludeOnCaseAttributeEqualityFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.filters.ExcludeOnCaseAttributeEqualityFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/filters/class-use/ExcludeOnEventAttributeEqualityFilter.html b/beamline/filters/class-use/ExcludeOnEventAttributeEqualityFilter.html
index 4cb2e0fa7bbe46f64dd30f796089c7553c3e0c0d..fdffc756fdbd90e9351fa3ebfe32076674a1ebe0 100644
--- a/beamline/filters/class-use/ExcludeOnEventAttributeEqualityFilter.html
+++ b/beamline/filters/class-use/ExcludeOnEventAttributeEqualityFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.filters.ExcludeOnEventAttributeEqualityFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/filters/class-use/RetainActivitiesFilter.html b/beamline/filters/class-use/RetainActivitiesFilter.html
index 16e5cef470a7c891100dd30d2a1a596f0fa56328..8581d6a5f7f2bf02c654ca1439a7c89be538d209 100644
--- a/beamline/filters/class-use/RetainActivitiesFilter.html
+++ b/beamline/filters/class-use/RetainActivitiesFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.filters.RetainActivitiesFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/filters/class-use/RetainOnCaseAttributeEqualityFilter.html b/beamline/filters/class-use/RetainOnCaseAttributeEqualityFilter.html
index 3c1eac07c38dc1f7f42b8b88abb210087c9a80d9..ebe3ad9f4fbd8bd5da8140bce065ce70f04204cf 100644
--- a/beamline/filters/class-use/RetainOnCaseAttributeEqualityFilter.html
+++ b/beamline/filters/class-use/RetainOnCaseAttributeEqualityFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.filters.RetainOnCaseAttributeEqualityFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/filters/class-use/RetainOnEventAttributeEqualityFilter.html b/beamline/filters/class-use/RetainOnEventAttributeEqualityFilter.html
index 9171bc43a0c189d69b2fc8f8b25ceaabe43bdbe6..f06d59c5ffa0cf76ab6b5293f8a87125e97f06d0 100644
--- a/beamline/filters/class-use/RetainOnEventAttributeEqualityFilter.html
+++ b/beamline/filters/class-use/RetainOnEventAttributeEqualityFilter.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.filters.RetainOnEventAttributeEqualityFilter (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/filters/package-summary.html b/beamline/filters/package-summary.html
index 786782795c2097b6ff78ac7554ae99ab7e2eadab..2fa8bbdb8da565ffe43733f72c5319cb2c73e57d 100644
--- a/beamline/filters/package-summary.html
+++ b/beamline/filters/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.filters (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -120,14 +120,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnCaseAttributeEqualityFilter</a>&lt;T extends org.deckfour.xes.model.XAttribute&gt;</th>
+<th class="colFirst" scope="row"><a href="ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnCaseAttributeEqualityFilter</a>&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</th>
 <td class="colLast">
 <div class="block">This filter excludes events based on the equality of a certain trace
  attribute to a given set of values.</div>
 </td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a>&lt;T extends org.deckfour.xes.model.XAttribute&gt;</th>
+<th class="colFirst" scope="row"><a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a>&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</th>
 <td class="colLast">
 <div class="block">This filter excludes events based on the equality of a certain event
  attribute to a given set of values.</div>
@@ -141,14 +141,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </td>
 </tr>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnCaseAttributeEqualityFilter</a>&lt;T extends org.deckfour.xes.model.XAttribute&gt;</th>
+<th class="colFirst" scope="row"><a href="RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnCaseAttributeEqualityFilter</a>&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</th>
 <td class="colLast">
 <div class="block">This filter retains events based on the equality of a certain trace
  attribute to a given set of values.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a>&lt;T extends org.deckfour.xes.model.XAttribute&gt;</th>
+<th class="colFirst" scope="row"><a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a>&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt;</th>
 <td class="colLast">
 <div class="block">This filter retains events based on the equality of a certain event
  attribute to a given set of values.</div>
diff --git a/beamline/filters/package-tree.html b/beamline/filters/package-tree.html
index 720dd99ee34d70e58af58e9644755202eeb79920..da2bc844c128ab64e157355b3fd42eb308a9e3a3 100644
--- a/beamline/filters/package-tree.html
+++ b/beamline/filters/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.filters Class Hierarchy (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -106,14 +106,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul>
 <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Object</span></a>
 <ul>
-<li class="circle">beamline.filters.<a href="ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnCaseAttributeEqualityFilter</span></a>&lt;T&gt; (implements io.reactivex.rxjava3.functions.Predicate&lt;T&gt;)</li>
-<li class="circle">beamline.filters.<a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnEventAttributeEqualityFilter</span></a>&lt;T&gt; (implements io.reactivex.rxjava3.functions.Predicate&lt;T&gt;)
+<li class="circle">beamline.filters.<a href="ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnCaseAttributeEqualityFilter</span></a>&lt;T&gt; (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)</li>
+<li class="circle">beamline.filters.<a href="ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnEventAttributeEqualityFilter</span></a>&lt;T&gt; (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)
 <ul>
 <li class="circle">beamline.filters.<a href="ExcludeActivitiesFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeActivitiesFilter</span></a></li>
 </ul>
 </li>
-<li class="circle">beamline.filters.<a href="RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnCaseAttributeEqualityFilter</span></a>&lt;T&gt; (implements io.reactivex.rxjava3.functions.Predicate&lt;T&gt;)</li>
-<li class="circle">beamline.filters.<a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnEventAttributeEqualityFilter</span></a>&lt;T&gt; (implements io.reactivex.rxjava3.functions.Predicate&lt;T&gt;)
+<li class="circle">beamline.filters.<a href="RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnCaseAttributeEqualityFilter</span></a>&lt;T&gt; (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)</li>
+<li class="circle">beamline.filters.<a href="RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnEventAttributeEqualityFilter</span></a>&lt;T&gt; (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)
 <ul>
 <li class="circle">beamline.filters.<a href="RetainActivitiesFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainActivitiesFilter</span></a></li>
 </ul>
diff --git a/beamline/filters/package-use.html b/beamline/filters/package-use.html
index 1843fe8f43182e6abf2b0aad85eb0bdc642023e9..d80648983cfb9ebdd23d673601153c156b5f34dd 100644
--- a/beamline/filters/package-use.html
+++ b/beamline/filters/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Package beamline.filters (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
diff --git a/beamline/mappers/class-use/DirectlyFollowsRelation.html b/beamline/mappers/class-use/DirectlyFollowsRelation.html
deleted file mode 100644
index 615e83fd726132775a1f63cf9ea4dca429395a8e..0000000000000000000000000000000000000000
--- a/beamline/mappers/class-use/DirectlyFollowsRelation.html
+++ /dev/null
@@ -1,196 +0,0 @@
-<!DOCTYPE HTML>
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Class beamline.mappers.DirectlyFollowsRelation (framework 0.1.0 API)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../../script.js"></script>
-<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
-<!--[if IE]>
-<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
-<![endif]-->
-<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class beamline.mappers.DirectlyFollowsRelation (framework 0.1.0 API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var pathtoroot = "../../../";
-var useModuleDirectories = true;
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<header role="banner">
-<nav role="navigation">
-<div class="fixedNav">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a id="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../index.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../DirectlyFollowsRelation.html" title="class in beamline.mappers">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../index-all.html">Index</a></li>
-<li><a href="../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<ul class="navListSearch">
-<li><label for="search">SEARCH:</label>
-<input type="text" id="search" value="search" disabled="disabled">
-<input type="reset" id="reset" value="reset" disabled="disabled">
-</li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<a id="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-</div>
-<div class="navPadding">&nbsp;</div>
-<script type="text/javascript"><!--
-$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-//-->
-</script>
-</nav>
-</header>
-<main role="main">
-<div class="header">
-<h2 title="Uses of Class beamline.mappers.DirectlyFollowsRelation" class="title">Uses of Class<br>beamline.mappers.DirectlyFollowsRelation</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary">
-<caption><span>Packages that use <a href="../DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<th class="colFirst" scope="row"><a href="#beamline.mappers">beamline.mappers</a></th>
-<td class="colLast">
-<div class="block">This package contains some mappers that are available by default in the
- framework.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList">
-<section role="region"><a id="beamline.mappers">
-<!--   -->
-</a>
-<h3>Uses of <a href="../DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a> in <a href="../package-summary.html">beamline.mappers</a></h3>
-<table class="useSummary">
-<caption><span>Methods in <a href="../package-summary.html">beamline.mappers</a> that return types with arguments of type <a href="../DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Method</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>@NonNull io.reactivex.rxjava3.core.ObservableSource&lt;<a href="../DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a>&gt;</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">InfiniteSizeDirectlyFollowsMapper.</span><code><span class="memberNameLink"><a href="../InfiniteSizeDirectlyFollowsMapper.html#apply(org.deckfour.xes.model.XTrace)">apply</a></span>&#8203;(@NonNull org.deckfour.xes.model.XTrace&nbsp;t)</code></th>
-<td class="colLast">&nbsp;</td>
-</tr>
-</tbody>
-</table>
-</section>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</main>
-<footer role="contentinfo">
-<nav role="navigation">
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a id="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../index.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../DirectlyFollowsRelation.html" title="class in beamline.mappers">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../index-all.html">Index</a></li>
-<li><a href="../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<a id="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</nav>
-<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
-</footer>
-</body>
-</html>
diff --git a/beamline/mappers/package-summary.html b/beamline/mappers/package-summary.html
deleted file mode 100644
index 23cf12a90d6c7846d7411f01671d0f6d26683d1a..0000000000000000000000000000000000000000
--- a/beamline/mappers/package-summary.html
+++ /dev/null
@@ -1,183 +0,0 @@
-<!DOCTYPE HTML>
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>beamline.mappers (framework 0.1.0 API)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-<script type="text/javascript" src="../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
-<!--[if IE]>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
-<![endif]-->
-<script type="text/javascript" src="../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../jquery/jquery-ui.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="beamline.mappers (framework 0.1.0 API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var pathtoroot = "../../";
-var useModuleDirectories = true;
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<header role="banner">
-<nav role="navigation">
-<div class="fixedNav">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a id="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<ul class="navListSearch">
-<li><label for="search">SEARCH:</label>
-<input type="text" id="search" value="search" disabled="disabled">
-<input type="reset" id="reset" value="reset" disabled="disabled">
-</li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<a id="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-</div>
-<div class="navPadding">&nbsp;</div>
-<script type="text/javascript"><!--
-$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-//-->
-</script>
-</nav>
-</header>
-<main role="main">
-<div class="header">
-<h1 title="Package" class="title">Package&nbsp;beamline.mappers</h1>
-</div>
-<div class="contentContainer">
-<section role="region"><a id="package.description">
-<!--   -->
-</a>
-<div class="block">This package contains some mappers that are available by default in the
- framework.</div>
-</section>
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<th class="colFirst" scope="row"><a href="DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></th>
-<td class="colLast">
-<div class="block">This class represents a directly follows relation as produced by
- <a href="InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<th class="colFirst" scope="row"><a href="InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers">InfiniteSizeDirectlyFollowsMapper</a></th>
-<td class="colLast">
-<div class="block">This mapper transforms a stream of <code>XTrace</code>s into a stream of
- <a href="DirectlyFollowsRelation.html" title="class in beamline.mappers"><code>DirectlyFollowsRelation</code></a>s.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-</main>
-<footer role="contentinfo">
-<nav role="navigation">
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a id="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<a id="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</nav>
-<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
-</footer>
-</body>
-</html>
diff --git a/beamline/models/algorithms/HookEventProcessing.html b/beamline/models/algorithms/HookEventProcessing.html
deleted file mode 100644
index 0a02d026db446183a0a2eb599c844c52a878ff2d..0000000000000000000000000000000000000000
--- a/beamline/models/algorithms/HookEventProcessing.html
+++ /dev/null
@@ -1,262 +0,0 @@
-<!DOCTYPE HTML>
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>HookEventProcessing (framework 0.1.0 API)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../../script.js"></script>
-<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
-<!--[if IE]>
-<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
-<![endif]-->
-<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="HookEventProcessing (framework 0.1.0 API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var data = {"i0":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-var pathtoroot = "../../../";
-var useModuleDirectories = true;
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<header role="banner">
-<nav role="navigation">
-<div class="fixedNav">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a id="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HookEventProcessing.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../index-all.html">Index</a></li>
-<li><a href="../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<ul class="navListSearch">
-<li><label for="search">SEARCH:</label>
-<input type="text" id="search" value="search" disabled="disabled">
-<input type="reset" id="reset" value="reset" disabled="disabled">
-</li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a id="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-</div>
-<div class="navPadding">&nbsp;</div>
-<script type="text/javascript"><!--
-$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-//-->
-</script>
-</nav>
-</header>
-<!-- ======== START OF CLASS DATA ======== -->
-<main role="main">
-<div class="header">
-<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.models.algorithms</a></div>
-<h2 title="Interface HookEventProcessing" class="title">Interface HookEventProcessing</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<pre>public interface <span class="typeNameLabel">HookEventProcessing</span></pre>
-<div class="block">This interface defines the structure of the callback function that a
- <a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><code>StreamMiningAlgorithm</code></a> can execute (cf.,
- <a href="StreamMiningAlgorithm.html#setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnBeforeEvent(HookEventProcessing)</code></a> and
- <a href="StreamMiningAlgorithm.html#setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnAfterEvent(HookEventProcessing)</code></a>).</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Andrea Burattin</dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<section role="region">
-<ul class="blockList">
-<li class="blockList"><a id="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Method</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#trigger()">trigger</a></span>()</code></th>
-<td class="colLast">
-<div class="block">The actual function to trigger</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<section role="region">
-<ul class="blockList">
-<li class="blockList"><a id="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a id="trigger()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>trigger</h4>
-<pre class="methodSignature">void&nbsp;trigger()</pre>
-<div class="block">The actual function to trigger</div>
-</li>
-</ul>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</div>
-</div>
-</main>
-<!-- ========= END OF CLASS DATA ========= -->
-<footer role="contentinfo">
-<nav role="navigation">
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a id="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/HookEventProcessing.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../index-all.html">Index</a></li>
-<li><a href="../../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a id="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</nav>
-<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
-</footer>
-</body>
-</html>
diff --git a/beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html b/beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html
new file mode 100644
index 0000000000000000000000000000000000000000..4555c20fa816a2b3d21bdf5f54a145465107f1e3
--- /dev/null
+++ b/beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html
@@ -0,0 +1,372 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>InfiniteSizeDirectlyFollowsMapper (framework 0.1.0 API)</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="dc.created" content="2022-03-25">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="InfiniteSizeDirectlyFollowsMapper (framework 0.1.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var data = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+var pathtoroot = "../../../";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InfiniteSizeDirectlyFollowsMapper.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<!-- ======== START OF CLASS DATA ======== -->
+<main role="main">
+<div class="header">
+<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.models.algorithms</a></div>
+<h2 title="Class InfiniteSizeDirectlyFollowsMapper" class="title">Class InfiniteSizeDirectlyFollowsMapper</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.api.common.functions.AbstractRichFunction</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.api.common.functions.RichFlatMapFunction&lt;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">beamline.models.algorithms.StreamMiningAlgorithm</a>&lt;<a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.FlatMapFunction&lt;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;<a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a>&gt;</code>, <code>org.apache.flink.api.common.functions.Function</code>, <code>org.apache.flink.api.common.functions.RichFunction</code></dd>
+</dl>
+<hr>
+<pre>public class <span class="typeNameLabel">InfiniteSizeDirectlyFollowsMapper</span>
+extends <a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a>&lt;<a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a>&gt;</pre>
+<div class="block">This mapper transforms a stream of <code>XTrace</code>s into a stream of
+ <a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses"><code>DirectlyFollowsRelation</code></a>s. It transforms each pair of consequent
+ events appearing in the same case as a directly follows operator (generating
+ an object with type <a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses"><code>DirectlyFollowsRelation</code></a>).
+ 
+ <p>
+ This mapper is called infinite because it's memory footprint will grow as the
+ number of case ids grows as well.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../serialized-form.html#beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Constructor</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr class="altColor">
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">InfiniteSizeDirectlyFollowsMapper</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</section>
+<!-- ========== METHOD SUMMARY =========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ingest(beamline.events.BEvent)">ingest</a></span>&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
+<td class="colLast">
+<div class="block">This abstract method is what each derive class is expected to implement.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.beamline.models.algorithms.StreamMiningAlgorithm">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;beamline.models.algorithms.<a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></h3>
+<code><a href="StreamMiningAlgorithm.html#flatMap(beamline.events.BEvent,org.apache.flink.util.Collector)">flatMap</a>, <a href="StreamMiningAlgorithm.html#getProcessedEvents()">getProcessedEvents</a>, <a href="StreamMiningAlgorithm.html#open(org.apache.flink.configuration.Configuration)">open</a>, <a href="StreamMiningAlgorithm.html#process(beamline.events.BEvent)">process</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.org.apache.flink.api.common.functions.AbstractRichFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.flink.api.common.functions.AbstractRichFunction</h3>
+<code>close, getIterationRuntimeContext, getRuntimeContext, setRuntimeContext</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a id="&lt;init&gt;()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>InfiniteSizeDirectlyFollowsMapper</h4>
+<pre>public&nbsp;InfiniteSizeDirectlyFollowsMapper()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<!-- ============ METHOD DETAIL ========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a id="ingest(beamline.events.BEvent)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>ingest</h4>
+<pre class="methodSignature">public&nbsp;<a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a>&nbsp;ingest&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)
+                               throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
+<div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code><a href="StreamMiningAlgorithm.html#ingest(beamline.events.BEvent)">StreamMiningAlgorithm</a></code></span></div>
+<div class="block">This abstract method is what each derive class is expected to implement.
+ The argument of the method is the new observation and the returned value
+ is the result of the mining.</div>
+<dl>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code><a href="StreamMiningAlgorithm.html#ingest(beamline.events.BEvent)">ingest</a></code>&nbsp;in class&nbsp;<code><a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a>&lt;<a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a>&gt;</code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>event</code> - the new event being observed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the result of the mining of the event</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code> - general exception that can occur with the ingestion of
+ the event</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+</div>
+</main>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/InfiniteSizeDirectlyFollowsMapper.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</nav>
+<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
+</footer>
+</body>
+</html>
diff --git a/beamline/models/algorithms/StreamMiningAlgorithm.html b/beamline/models/algorithms/StreamMiningAlgorithm.html
index f29c89a7fbc792e19772c181587b05ca7f5f07ef..023a1e8940ed65754d48d2558d05c5874137b179 100644
--- a/beamline/models/algorithms/StreamMiningAlgorithm.html
+++ b/beamline/models/algorithms/StreamMiningAlgorithm.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>StreamMiningAlgorithm (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -27,7 +27,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":10,"i5":10,"i6":10,"i7":10};
+var data = {"i0":10,"i1":10,"i2":6,"i3":10,"i4":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -117,14 +117,24 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <main role="main">
 <div class="header">
 <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.models.algorithms</a></div>
-<h2 title="Class StreamMiningAlgorithm" class="title">Class StreamMiningAlgorithm&lt;T,&#8203;K&gt;</h2>
+<h2 title="Class StreamMiningAlgorithm" class="title">Class StreamMiningAlgorithm&lt;T extends <a href="../responses/Response.html" title="class in beamline.models.responses">Response</a>&gt;</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>beamline.models.algorithms.StreamMiningAlgorithm&lt;T,&#8203;K&gt;</li>
+<li>org.apache.flink.api.common.functions.AbstractRichFunction</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.api.common.functions.RichFlatMapFunction&lt;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;T&gt;</li>
+<li>
+<ul class="inheritance">
+<li>beamline.models.algorithms.StreamMiningAlgorithm&lt;T&gt;</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
@@ -132,24 +142,24 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - the type of the consumed events</dd>
-<dd><code>K</code> - the type of the responses produced by the mining algorithm</dd>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.FlatMapFunction&lt;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;T&gt;</code>, <code>org.apache.flink.api.common.functions.Function</code>, <code>org.apache.flink.api.common.functions.RichFunction</code></dd>
 </dl>
 <dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><code>io.reactivex.rxjava3.functions.Consumer&lt;T&gt;</code></dd>
+<dt>Direct Known Subclasses:</dt>
+<dd><code><a href="InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">InfiniteSizeDirectlyFollowsMapper</a></code></dd>
 </dl>
 <hr>
-<pre>public abstract class <span class="typeNameLabel">StreamMiningAlgorithm&lt;T,&#8203;K&gt;</span>
-extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements io.reactivex.rxjava3.functions.Consumer&lt;T&gt;</pre>
+<pre>public abstract class <span class="typeNameLabel">StreamMiningAlgorithm&lt;T extends <a href="../responses/Response.html" title="class in beamline.models.responses">Response</a>&gt;</span>
+extends org.apache.flink.api.common.functions.RichFlatMapFunction&lt;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;T&gt;</pre>
 <div class="block">This abstract class defines the root of the mining algorithms hierarchy. It
- is a <code>Consumer</code> of elements with type <code>T</code> that is capable of
- producing responses of a certain type <code>K</code>.</div>
+ is a <code>MapFunction</code> of elements with type <a href="../../events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> that is capable
+ of producing responses of type <a href="../responses/Response.html" title="class in beamline.models.responses"><code>Response</code></a>.</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../serialized-form.html#beamline.models.algorithms.StreamMiningAlgorithm">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -194,58 +204,43 @@ implements io.reactivex.rxjava3.functions.Consumer&lt;T&gt;</pre>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#accept(T)">accept</a></span>&#8203;(<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&nbsp;t)</code></th>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#flatMap(beamline.events.BEvent,org.apache.flink.util.Collector)">flatMap</a></span>&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event,
+       org.apache.flink.util.Collector&lt;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&gt;&nbsp;out)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a></code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLatestResponse()">getLatestResponse</a></span>()</code></th>
-<td class="colLast">
-<div class="block">Returns the latest result of the mining</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
+<td class="colFirst"><code>long</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessedEvents()">getProcessedEvents</a></span>()</code></th>
 <td class="colLast">
 <div class="block">Returns the total number of events processed so far</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>abstract <a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a></code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ingest(T)">ingest</a></span>&#8203;(<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&nbsp;event)</code></th>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>abstract <a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ingest(beamline.events.BEvent)">ingest</a></span>&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
 <td class="colLast">
 <div class="block">This abstract method is what each derive class is expected to implement.</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#process(T)">process</a></span>&#8203;(<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&nbsp;event)</code></th>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#open(org.apache.flink.configuration.Configuration)">open</a></span>&#8203;(org.apache.flink.configuration.Configuration&nbsp;parameters)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>protected <a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a></code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLatestResponse(K)">setLatestResponse</a></span>&#8203;(<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a>&nbsp;latestResponse)</code></th>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>protected <a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#process(beamline.events.BEvent)">process</a></span>&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)">setOnAfterEvent</a></span>&#8203;(<a href="HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a>&nbsp;onAfterEvent)</code></th>
-<td class="colLast">
-<div class="block">This method can be used to set a hook to a callback function to be
- executed after an event is processed</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)">setOnBeforeEvent</a></span>&#8203;(<a href="HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a>&nbsp;onBeforeEvent)</code></th>
-<td class="colLast">
-<div class="block">This method can be used to set a hook to a callback function to be
- executed before an event is processed</div>
-</td>
-</tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.org.apache.flink.api.common.functions.AbstractRichFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.flink.api.common.functions.AbstractRichFunction</h3>
+<code>close, getIterationRuntimeContext, getRuntimeContext, setRuntimeContext</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -287,122 +282,90 @@ implements io.reactivex.rxjava3.functions.Consumer&lt;T&gt;</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="ingest(java.lang.Object)">
-<!--   -->
-</a><a id="ingest(T)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>ingest</h4>
-<pre class="methodSignature">public abstract&nbsp;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a>&nbsp;ingest&#8203;(<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&nbsp;event)</pre>
-<div class="block">This abstract method is what each derive class is expected to implement.
- The argument of the method is the new observation and the returned value
- is the result of the mining.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>event</code> - the new event being observed</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the result of the mining of the event</dd>
-</dl>
-</li>
-</ul>
-<a id="getProcessedEvents()">
+<a id="open(org.apache.flink.configuration.Configuration)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getProcessedEvents</h4>
-<pre class="methodSignature">public&nbsp;int&nbsp;getProcessedEvents()</pre>
-<div class="block">Returns the total number of events processed so far</div>
+<h4>open</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;open&#8203;(org.apache.flink.configuration.Configuration&nbsp;parameters)
+          throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
 <dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the total number of events processed so far</dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>open</code>&nbsp;in interface&nbsp;<code>org.apache.flink.api.common.functions.RichFunction</code></dd>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code>open</code>&nbsp;in class&nbsp;<code>org.apache.flink.api.common.functions.AbstractRichFunction</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
-<a id="getLatestResponse()">
+<a id="flatMap(beamline.events.BEvent,org.apache.flink.util.Collector)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getLatestResponse</h4>
-<pre class="methodSignature">public&nbsp;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a>&nbsp;getLatestResponse()</pre>
-<div class="block">Returns the latest result of the mining</div>
+<h4>flatMap</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;flatMap&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event,
+                    org.apache.flink.util.Collector&lt;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&gt;&nbsp;out)
+             throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
 <dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the latest result of the mining</dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>flatMap</code>&nbsp;in interface&nbsp;<code>org.apache.flink.api.common.functions.FlatMapFunction&lt;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a> extends <a href="../responses/Response.html" title="class in beamline.models.responses">Response</a>&gt;</code></dd>
+<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
+<dd><code>flatMap</code>&nbsp;in class&nbsp;<code>org.apache.flink.api.common.functions.RichFlatMapFunction&lt;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a> extends <a href="../responses/Response.html" title="class in beamline.models.responses">Response</a>&gt;</code></dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
-<a id="setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)">
+<a id="ingest(beamline.events.BEvent)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setOnBeforeEvent</h4>
-<pre class="methodSignature">public&nbsp;void&nbsp;setOnBeforeEvent&#8203;(<a href="HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a>&nbsp;onBeforeEvent)</pre>
-<div class="block">This method can be used to set a hook to a callback function to be
- executed before an event is processed</div>
+<h4>ingest</h4>
+<pre class="methodSignature">public abstract&nbsp;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&nbsp;ingest&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)
+                  throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
+<div class="block">This abstract method is what each derive class is expected to implement.
+ The argument of the method is the new observation and the returned value
+ is the result of the mining.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>onBeforeEvent</code> - the callback function</dd>
+<dd><code>event</code> - the new event being observed</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the result of the mining of the event</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code> - general exception that can occur with the ingestion of
+ the event</dd>
 </dl>
 </li>
 </ul>
-<a id="setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)">
+<a id="getProcessedEvents()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setOnAfterEvent</h4>
-<pre class="methodSignature">public&nbsp;void&nbsp;setOnAfterEvent&#8203;(<a href="HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a>&nbsp;onAfterEvent)</pre>
-<div class="block">This method can be used to set a hook to a callback function to be
- executed after an event is processed</div>
+<h4>getProcessedEvents</h4>
+<pre class="methodSignature">public&nbsp;long&nbsp;getProcessedEvents()</pre>
+<div class="block">Returns the total number of events processed so far</div>
 <dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>onAfterEvent</code> - the callback function</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the total number of events processed so far</dd>
 </dl>
 </li>
 </ul>
-<a id="process(java.lang.Object)">
-<!--   -->
-</a><a id="process(T)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>process</h4>
-<pre class="methodSignature">protected&nbsp;void&nbsp;process&#8203;(<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&nbsp;event)</pre>
-</li>
-</ul>
-<a id="setLatestResponse(java.lang.Object)">
-<!--   -->
-</a><a id="setLatestResponse(K)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setLatestResponse</h4>
-<pre class="methodSignature">protected&nbsp;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a>&nbsp;setLatestResponse&#8203;(<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a>&nbsp;latestResponse)</pre>
-</li>
-</ul>
-<a id="accept(java.lang.Object)">
-<!--   -->
-</a><a id="accept(T)">
+<a id="process(beamline.events.BEvent)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>accept</h4>
-<pre class="methodSignature">public&nbsp;void&nbsp;accept&#8203;(@NonNull
-                   <a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&nbsp;t)
-            throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></pre>
+<h4>process</h4>
+<pre class="methodSignature">protected&nbsp;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&nbsp;process&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)
+             throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>accept</code>&nbsp;in interface&nbsp;<code>io.reactivex.rxjava3.functions.Consumer&lt;<a href="StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>&gt;</code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
diff --git a/beamline/mappers/class-use/InfiniteSizeDirectlyFollowsMapper.html b/beamline/models/algorithms/class-use/InfiniteSizeDirectlyFollowsMapper.html
similarity index 60%
rename from beamline/mappers/class-use/InfiniteSizeDirectlyFollowsMapper.html
rename to beamline/models/algorithms/class-use/InfiniteSizeDirectlyFollowsMapper.html
index 7d2d5da3fd96cdca9239fa393e15e3c97d7059c4..028cf24b690ef251090b36c9660a68513ea3cf98 100644
--- a/beamline/mappers/class-use/InfiniteSizeDirectlyFollowsMapper.html
+++ b/beamline/models/algorithms/class-use/InfiniteSizeDirectlyFollowsMapper.html
@@ -2,32 +2,32 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Class beamline.mappers.InfiniteSizeDirectlyFollowsMapper (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../../script.js"></script>
-<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<meta name="dc.created" content="2022-03-25">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
 <!--[if IE]>
-<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
 <![endif]-->
-<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
+<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class beamline.mappers.InfiniteSizeDirectlyFollowsMapper (framework 0.1.0 API)";
+            parent.document.title="Uses of Class beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper (framework 0.1.0 API)";
         }
     }
     catch(err) {
     }
 //-->
-var pathtoroot = "../../../";
+var pathtoroot = "../../../../";
 var useModuleDirectories = true;
 loadScripts(document, 'script');</script>
 <noscript>
@@ -45,19 +45,19 @@ loadScripts(document, 'script');</script>
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../index.html">Overview</a></li>
+<li><a href="../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers">Class</a></li>
+<li><a href="../InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../index-all.html">Index</a></li>
-<li><a href="../../../help-doc.html">Help</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
 </ul>
 <ul class="navListSearch">
 <li><label for="search">SEARCH:</label>
@@ -94,9 +94,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h2 title="Uses of Class beamline.mappers.InfiniteSizeDirectlyFollowsMapper" class="title">Uses of Class<br>beamline.mappers.InfiniteSizeDirectlyFollowsMapper</h2>
+<h2 title="Uses of Class beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper" class="title">Uses of Class<br>beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper</h2>
 </div>
-<div class="classUseContainer">No usage of beamline.mappers.InfiniteSizeDirectlyFollowsMapper</div>
+<div class="classUseContainer">No usage of beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper</div>
 </main>
 <footer role="contentinfo">
 <nav role="navigation">
@@ -109,19 +109,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../../index.html">Overview</a></li>
+<li><a href="../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers">Class</a></li>
+<li><a href="../InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
-<li><a href="../../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../../index-all.html">Index</a></li>
-<li><a href="../../../help-doc.html">Help</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
diff --git a/beamline/models/algorithms/class-use/StreamMiningAlgorithm.html b/beamline/models/algorithms/class-use/StreamMiningAlgorithm.html
index 7ab8b0743edafc50d990e0aa745a429b2c33df61..a906ccb01226b0381c815b0ca280aad89eec2d6c 100644
--- a/beamline/models/algorithms/class-use/StreamMiningAlgorithm.html
+++ b/beamline/models/algorithms/class-use/StreamMiningAlgorithm.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.models.algorithms.StreamMiningAlgorithm (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
@@ -96,7 +96,57 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="header">
 <h2 title="Uses of Class beamline.models.algorithms.StreamMiningAlgorithm" class="title">Uses of Class<br>beamline.models.algorithms.StreamMiningAlgorithm</h2>
 </div>
-<div class="classUseContainer">No usage of beamline.models.algorithms.StreamMiningAlgorithm</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary">
+<caption><span>Packages that use <a href="../StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="#beamline.models.algorithms">beamline.models.algorithms</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes of the framework necessary to have mining
+ algorithms functioning.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList">
+<section role="region"><a id="beamline.models.algorithms">
+<!--   -->
+</a>
+<h3>Uses of <a href="../StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a> in <a href="../package-summary.html">beamline.models.algorithms</a></h3>
+<table class="useSummary">
+<caption><span>Subclasses of <a href="../StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a> in <a href="../package-summary.html">beamline.models.algorithms</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">InfiniteSizeDirectlyFollowsMapper</a></span></code></th>
+<td class="colLast">
+<div class="block">This mapper transforms a stream of <code>XTrace</code>s into a stream of
+ <a href="../../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses"><code>DirectlyFollowsRelation</code></a>s.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 </main>
 <footer role="contentinfo">
 <nav role="navigation">
diff --git a/beamline/models/algorithms/package-summary.html b/beamline/models/algorithms/package-summary.html
index 5c968c860c03a2c60c5c3730e05c8e39236e35da..0fb80b4cf0b90131bdf077a47a8e2e255829814e 100644
--- a/beamline/models/algorithms/package-summary.html
+++ b/beamline/models/algorithms/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.models.algorithms (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -106,34 +106,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <table class="typeSummary">
-<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
-<th class="colFirst" scope="col">Interface</th>
+<th class="colFirst" scope="col">Class</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a></th>
+<th class="colFirst" scope="row"><a href="InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">InfiniteSizeDirectlyFollowsMapper</a></th>
 <td class="colLast">
-<div class="block">This interface defines the structure of the callback function that a
- <a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><code>StreamMiningAlgorithm</code></a> can execute (cf.,
- <a href="StreamMiningAlgorithm.html#setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnBeforeEvent(HookEventProcessing)</code></a> and
- <a href="StreamMiningAlgorithm.html#setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnAfterEvent(HookEventProcessing)</code></a>).</div>
+<div class="block">This mapper transforms a stream of <code>XTrace</code>s into a stream of
+ <a href="../responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses"><code>DirectlyFollowsRelation</code></a>s.</div>
 </td>
 </tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="typeSummary">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<th class="colFirst" scope="row"><a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a>&lt;T,&#8203;K&gt;</th>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a>&lt;T extends <a href="../responses/Response.html" title="class in beamline.models.responses">Response</a>&gt;</th>
 <td class="colLast">
 <div class="block">This abstract class defines the root of the mining algorithms hierarchy.</div>
 </td>
diff --git a/beamline/models/algorithms/package-tree.html b/beamline/models/algorithms/package-tree.html
index df4bc500a069fbd4ddcacff2d1f0278a1c994f28..73cc8b1367a3c62d34ed7cd6346e935cb7a9eff6 100644
--- a/beamline/models/algorithms/package-tree.html
+++ b/beamline/models/algorithms/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.models.algorithms Class Hierarchy (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -106,15 +106,21 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul>
 <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Object</span></a>
 <ul>
-<li class="circle">beamline.models.algorithms.<a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><span class="typeNameLink">StreamMiningAlgorithm</span></a>&lt;T,&#8203;K&gt; (implements io.reactivex.rxjava3.functions.Consumer&lt;T&gt;)</li>
+<li class="circle">org.apache.flink.api.common.functions.AbstractRichFunction (implements org.apache.flink.api.common.functions.RichFunction, java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)
+<ul>
+<li class="circle">org.apache.flink.api.common.functions.RichFlatMapFunction&lt;IN,&#8203;OUT&gt; (implements org.apache.flink.api.common.functions.FlatMapFunction&lt;T,&#8203;O&gt;)
+<ul>
+<li class="circle">beamline.models.algorithms.<a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><span class="typeNameLink">StreamMiningAlgorithm</span></a>&lt;T&gt;
+<ul>
+<li class="circle">beamline.models.algorithms.<a href="InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><span class="typeNameLink">InfiniteSizeDirectlyFollowsMapper</span></a></li>
 </ul>
 </li>
 </ul>
-</section>
-<section role="region">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
-<ul>
-<li class="circle">beamline.models.algorithms.<a href="HookEventProcessing.html" title="interface in beamline.models.algorithms"><span class="typeNameLink">HookEventProcessing</span></a></li>
+</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </section>
 </div>
diff --git a/beamline/models/algorithms/package-use.html b/beamline/models/algorithms/package-use.html
index dbacf0eabb8e4d7502b75d2b33b3f2c2ce5fb296..7e80bcc882bcb9ffab3bc752d056c50eedc1a4c9 100644
--- a/beamline/models/algorithms/package-use.html
+++ b/beamline/models/algorithms/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Package beamline.models.algorithms (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -127,12 +127,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="class-use/HookEventProcessing.html#beamline.models.algorithms">HookEventProcessing</a></th>
+<th class="colFirst" scope="row"><a href="class-use/StreamMiningAlgorithm.html#beamline.models.algorithms">StreamMiningAlgorithm</a></th>
 <td class="colLast">
-<div class="block">This interface defines the structure of the callback function that a
- <a href="StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><code>StreamMiningAlgorithm</code></a> can execute (cf.,
- <a href="StreamMiningAlgorithm.html#setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnBeforeEvent(HookEventProcessing)</code></a> and
- <a href="StreamMiningAlgorithm.html#setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnAfterEvent(HookEventProcessing)</code></a>).</div>
+<div class="block">This abstract class defines the root of the mining algorithms hierarchy.</div>
 </td>
 </tr>
 </tbody>
diff --git a/beamline/models/responses/DirectlyFollowsRelation.html b/beamline/models/responses/DirectlyFollowsRelation.html
new file mode 100644
index 0000000000000000000000000000000000000000..8b69c358abbdc778c9644fe8f5e824557c9119df
--- /dev/null
+++ b/beamline/models/responses/DirectlyFollowsRelation.html
@@ -0,0 +1,426 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>DirectlyFollowsRelation (framework 0.1.0 API)</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="dc.created" content="2022-03-25">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="DirectlyFollowsRelation (framework 0.1.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+var pathtoroot = "../../../";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectlyFollowsRelation.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<!-- ======== START OF CLASS DATA ======== -->
+<main role="main">
+<div class="header">
+<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.models.responses</a></div>
+<h2 title="Class DirectlyFollowsRelation" class="title">Class DirectlyFollowsRelation</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="Response.html" title="class in beamline.models.responses">beamline.models.responses.Response</a></li>
+<li>
+<ul class="inheritance">
+<li>beamline.models.responses.DirectlyFollowsRelation</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code></dd>
+</dl>
+<hr>
+<pre>public class <span class="typeNameLabel">DirectlyFollowsRelation</span>
+extends <a href="Response.html" title="class in beamline.models.responses">Response</a></pre>
+<div class="block">This class represents a directly follows relation as produced by
+ <a href="../algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../serialized-form.html#beamline.models.responses.DirectlyFollowsRelation">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Constructor</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr class="altColor">
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(beamline.events.BEvent,beamline.events.BEvent)">DirectlyFollowsRelation</a></span>&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;from,
+                       <a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;to)</code></th>
+<td class="colLast">
+<div class="block">Constructor</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</section>
+<!-- ========== METHOD SUMMARY =========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;obj)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCaseId()">getCaseId</a></span>()</code></th>
+<td class="colLast">
+<div class="block">Returns the case id this directly follows relation belongs to</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFrom()">getFrom</a></span>()</code></th>
+<td class="colLast">
+<div class="block">Returns the source event</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTo()">getTo</a></span>()</code></th>
+<td class="colLast">
+<div class="block">Returns the target event</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>int</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.beamline.models.responses.Response">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;beamline.models.responses.<a href="Response.html" title="class in beamline.models.responses">Response</a></h3>
+<code><a href="Response.html#getProcessedEvents()">getProcessedEvents</a>, <a href="Response.html#setProcessedEvents(java.lang.Long)">setProcessedEvents</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a id="&lt;init&gt;(beamline.events.BEvent,beamline.events.BEvent)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>DirectlyFollowsRelation</h4>
+<pre>public&nbsp;DirectlyFollowsRelation&#8203;(<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;from,
+                               <a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;to)</pre>
+<div class="block">Constructor</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>from</code> - the first event</dd>
+<dd><code>to</code> - the second event</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<!-- ============ METHOD DETAIL ========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a id="getCaseId()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getCaseId</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getCaseId()</pre>
+<div class="block">Returns the case id this directly follows relation belongs to</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the case id</dd>
+</dl>
+</li>
+</ul>
+<a id="getFrom()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFrom</h4>
+<pre class="methodSignature">public&nbsp;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;getFrom()</pre>
+<div class="block">Returns the source event</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the source event</dd>
+</dl>
+</li>
+</ul>
+<a id="getTo()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getTo</h4>
+<pre class="methodSignature">public&nbsp;<a href="../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;getTo()</pre>
+<div class="block">Returns the target event</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the target event</dd>
+</dl>
+</li>
+</ul>
+<a id="equals(java.lang.Object)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>equals</h4>
+<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;obj)</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+<a id="hashCode()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>hashCode</h4>
+<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+</div>
+</main>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/DirectlyFollowsRelation.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</nav>
+<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
+</footer>
+</body>
+</html>
diff --git a/beamline/models/responses/GraphvizResponse.html b/beamline/models/responses/GraphvizResponse.html
index 8cf39f54c7ad593c50cc306504123fa412282a7c..2cc1fc31be3ea47d4c3d346b05ac63849d2e8252 100644
--- a/beamline/models/responses/GraphvizResponse.html
+++ b/beamline/models/responses/GraphvizResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>GraphvizResponse (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -91,13 +91,13 @@ loadScripts(document, 'script');</script>
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
@@ -117,24 +117,39 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <main role="main">
 <div class="header">
 <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.models.responses</a></div>
-<h2 title="Interface GraphvizResponse" class="title">Interface GraphvizResponse</h2>
+<h2 title="Class GraphvizResponse" class="title">Class GraphvizResponse</h2>
 </div>
 <div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="Response.html" title="class in beamline.models.responses">beamline.models.responses.Response</a></li>
+<li>
+<ul class="inheritance">
+<li>beamline.models.responses.GraphvizResponse</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Superinterfaces:</dt>
-<dd><code><a href="Response.html" title="interface in beamline.models.responses">Response</a></code></dd>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code></dd>
 </dl>
 <hr>
-<pre>public interface <span class="typeNameLabel">GraphvizResponse</span>
-extends <a href="Response.html" title="interface in beamline.models.responses">Response</a></pre>
-<div class="block">A refined <a href="Response.html" title="interface in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
+<pre>public abstract class <span class="typeNameLabel">GraphvizResponse</span>
+extends <a href="Response.html" title="class in beamline.models.responses">Response</a></pre>
+<div class="block">A refined <a href="Response.html" title="class in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
  language.</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../serialized-form.html#beamline.models.responses.GraphvizResponse">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -142,6 +157,27 @@ extends <a href="Response.html" title="interface in beamline.models.responses">R
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Constructor</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr class="altColor">
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">GraphvizResponse</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</section>
 <!-- ========== METHOD SUMMARY =========== -->
 <section role="region">
 <ul class="blockList">
@@ -157,13 +193,27 @@ extends <a href="Response.html" title="interface in beamline.models.responses">R
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>beamline.graphviz.Dot</code></td>
+<td class="colFirst"><code>abstract beamline.graphviz.Dot</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#generateDot()">generateDot</a></span>()</code></th>
 <td class="colLast">
 <div class="block">Returns the Dot representation of the response</div>
 </td>
 </tr>
 </table>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.beamline.models.responses.Response">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;beamline.models.responses.<a href="Response.html" title="class in beamline.models.responses">Response</a></h3>
+<code><a href="Response.html#getProcessedEvents()">getProcessedEvents</a>, <a href="Response.html#setProcessedEvents(java.lang.Long)">setProcessedEvents</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
+</ul>
 </li>
 </ul>
 </section>
@@ -173,6 +223,25 @@ extends <a href="Response.html" title="interface in beamline.models.responses">R
 <div class="details">
 <ul class="blockList">
 <li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a id="&lt;init&gt;()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>GraphvizResponse</h4>
+<pre>public&nbsp;GraphvizResponse()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</section>
 <!-- ============ METHOD DETAIL ========== -->
 <section role="region">
 <ul class="blockList">
@@ -186,7 +255,7 @@ extends <a href="Response.html" title="interface in beamline.models.responses">R
 <ul class="blockListLast">
 <li class="blockList">
 <h4>generateDot</h4>
-<pre class="methodSignature">beamline.graphviz.Dot&nbsp;generateDot()</pre>
+<pre class="methodSignature">public abstract&nbsp;beamline.graphviz.Dot&nbsp;generateDot()</pre>
 <div class="block">Returns the Dot representation of the response</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -248,13 +317,13 @@ extends <a href="Response.html" title="interface in beamline.models.responses">R
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
diff --git a/beamline/models/responses/Response.html b/beamline/models/responses/Response.html
index 1cef2227b0e7c461ab146ba16eea59c16963c9a1..dcdfd5f2d62583ecd971f23a1c412bafe865e74d 100644
--- a/beamline/models/responses/Response.html
+++ b/beamline/models/responses/Response.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Response (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -27,6 +27,12 @@
     catch(err) {
     }
 //-->
+var data = {"i0":10,"i1":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
 var pathtoroot = "../../../";
 var useModuleDirectories = true;
 loadScripts(document, 'script');</script>
@@ -85,14 +91,14 @@ loadScripts(document, 'script');</script>
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li>Method</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li>Method</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
 <a id="skip.navbar.top">
@@ -111,26 +117,157 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <main role="main">
 <div class="header">
 <div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.models.responses</a></div>
-<h2 title="Interface Response" class="title">Interface Response</h2>
+<h2 title="Class Response" class="title">Class Response</h2>
 </div>
 <div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>beamline.models.responses.Response</li>
+</ul>
+</li>
+</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Known Subinterfaces:</dt>
-<dd><code><a href="GraphvizResponse.html" title="interface in beamline.models.responses">GraphvizResponse</a></code></dd>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><code><a href="DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></code>, <code><a href="GraphvizResponse.html" title="class in beamline.models.responses">GraphvizResponse</a></code>, <code><a href="StringResponse.html" title="class in beamline.models.responses">StringResponse</a></code></dd>
 </dl>
 <hr>
-<pre>public interface <span class="typeNameLabel">Response</span></pre>
+<pre>public class <span class="typeNameLabel">Response</span>
+extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
+implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></pre>
 <div class="block">Marker interface used to define the type of the responses</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../serialized-form.html#beamline.models.responses.Response">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
 </div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Constructor</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr class="altColor">
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">Response</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</section>
+<!-- ========== METHOD SUMMARY =========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Long.html?is-external=true" title="class or interface in java.lang" class="externalLink">Long</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProcessedEvents()">getProcessedEvents</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setProcessedEvents(java.lang.Long)">setProcessedEvents</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Long.html?is-external=true" title="class or interface in java.lang" class="externalLink">Long</a>&nbsp;processedEvents)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a id="&lt;init&gt;()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>Response</h4>
+<pre>public&nbsp;Response()</pre>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<!-- ============ METHOD DETAIL ========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a id="getProcessedEvents()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getProcessedEvents</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Long.html?is-external=true" title="class or interface in java.lang" class="externalLink">Long</a>&nbsp;getProcessedEvents()</pre>
+</li>
+</ul>
+<a id="setProcessedEvents(java.lang.Long)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>setProcessedEvents</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;setProcessedEvents&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Long.html?is-external=true" title="class or interface in java.lang" class="externalLink">Long</a>&nbsp;processedEvents)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
 </div>
 </main>
 <!-- ========= END OF CLASS DATA ========= -->
@@ -179,14 +316,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li>Summary:&nbsp;</li>
 <li>Nested&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li>Method</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
 </ul>
 <ul class="subNavList">
 <li>Detail:&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li>Method</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
 </ul>
 </div>
 <a id="skip.navbar.bottom">
diff --git a/beamline/models/responses/StringResponse.html b/beamline/models/responses/StringResponse.html
new file mode 100644
index 0000000000000000000000000000000000000000..9a3dcf0cad25bb68809ed93da6fba5250f301422
--- /dev/null
+++ b/beamline/models/responses/StringResponse.html
@@ -0,0 +1,359 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>StringResponse (framework 0.1.0 API)</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="dc.created" content="2022-03-25">
+<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="../../../script.js"></script>
+<script type="text/javascript" src="../../../jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="../../../jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="../../../jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StringResponse (framework 0.1.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var data = {"i0":10,"i1":10,"i2":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+var pathtoroot = "../../../";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StringResponse.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<!-- ======== START OF CLASS DATA ======== -->
+<main role="main">
+<div class="header">
+<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.models.responses</a></div>
+<h2 title="Class StringResponse" class="title">Class StringResponse</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="Response.html" title="class in beamline.models.responses">beamline.models.responses.Response</a></li>
+<li>
+<ul class="inheritance">
+<li>beamline.models.responses.StringResponse</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code></dd>
+</dl>
+<hr>
+<pre>public class <span class="typeNameLabel">StringResponse</span>
+extends <a href="Response.html" title="class in beamline.models.responses">Response</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../serialized-form.html#beamline.models.responses.StringResponse">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Constructor</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr class="altColor">
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String)">StringResponse</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</section>
+<!-- ========== METHOD SUMMARY =========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get()">get</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#set(java.lang.String)">set</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.beamline.models.responses.Response">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;beamline.models.responses.<a href="Response.html" title="class in beamline.models.responses">Response</a></h3>
+<code><a href="Response.html#getProcessedEvents()">getProcessedEvents</a>, <a href="Response.html#setProcessedEvents(java.lang.Long)">setProcessedEvents</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a id="&lt;init&gt;(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StringResponse</h4>
+<pre>public&nbsp;StringResponse&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<!-- ============ METHOD DETAIL ========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a id="get()">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>get</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;get()</pre>
+</li>
+</ul>
+<a id="set(java.lang.String)">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>set</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;set&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;str)</pre>
+</li>
+</ul>
+<a id="toString()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>toString</h4>
+<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;toString()</pre>
+<dl>
+<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+</div>
+</main>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StringResponse.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../index-all.html">Index</a></li>
+<li><a href="../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</nav>
+<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
+</footer>
+</body>
+</html>
diff --git a/beamline/models/algorithms/class-use/HookEventProcessing.html b/beamline/models/responses/class-use/DirectlyFollowsRelation.html
similarity index 67%
rename from beamline/models/algorithms/class-use/HookEventProcessing.html
rename to beamline/models/responses/class-use/DirectlyFollowsRelation.html
index c110857dc5e1255a0add74ca29ba85f0156cef0f..7250326f8e9e0c1eb6d20701b35c980430561125 100644
--- a/beamline/models/algorithms/class-use/HookEventProcessing.html
+++ b/beamline/models/responses/class-use/DirectlyFollowsRelation.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Interface beamline.models.algorithms.HookEventProcessing (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.models.responses.DirectlyFollowsRelation (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface beamline.models.algorithms.HookEventProcessing (framework 0.1.0 API)";
+            parent.document.title="Uses of Class beamline.models.responses.DirectlyFollowsRelation (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -47,7 +47,7 @@ loadScripts(document, 'script');</script>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../HookEventProcessing.html" title="interface in beamline.models.algorithms">Class</a></li>
+<li><a href="../DirectlyFollowsRelation.html" title="class in beamline.models.responses">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
@@ -94,13 +94,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h2 title="Uses of Interface beamline.models.algorithms.HookEventProcessing" class="title">Uses of Interface<br>beamline.models.algorithms.HookEventProcessing</h2>
+<h2 title="Uses of Class beamline.models.responses.DirectlyFollowsRelation" class="title">Uses of Class<br>beamline.models.responses.DirectlyFollowsRelation</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary">
-<caption><span>Packages that use <a href="../HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
@@ -122,9 +122,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <section role="region"><a id="beamline.models.algorithms">
 <!--   -->
 </a>
-<h3>Uses of <a href="../HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a> in <a href="../package-summary.html">beamline.models.algorithms</a></h3>
+<h3>Uses of <a href="../DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a> in <a href="../../algorithms/package-summary.html">beamline.models.algorithms</a></h3>
 <table class="useSummary">
-<caption><span>Methods in <a href="../package-summary.html">beamline.models.algorithms</a> with parameters of type <a href="../HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../../algorithms/package-summary.html">beamline.models.algorithms</a> that return <a href="../DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colSecond" scope="col">Method</th>
@@ -132,20 +132,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">StreamMiningAlgorithm.</span><code><span class="memberNameLink"><a href="../StreamMiningAlgorithm.html#setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)">setOnAfterEvent</a></span>&#8203;(<a href="../HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a>&nbsp;onAfterEvent)</code></th>
-<td class="colLast">
-<div class="block">This method can be used to set a hook to a callback function to be
- executed after an event is processed</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><span class="typeNameLabel">StreamMiningAlgorithm.</span><code><span class="memberNameLink"><a href="../StreamMiningAlgorithm.html#setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)">setOnBeforeEvent</a></span>&#8203;(<a href="../HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a>&nbsp;onBeforeEvent)</code></th>
-<td class="colLast">
-<div class="block">This method can be used to set a hook to a callback function to be
- executed before an event is processed</div>
-</td>
+<td class="colFirst"><code><a href="../DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">InfiniteSizeDirectlyFollowsMapper.</span><code><span class="memberNameLink"><a href="../../algorithms/InfiniteSizeDirectlyFollowsMapper.html#ingest(beamline.events.BEvent)">ingest</a></span>&#8203;(<a href="../../../events/BEvent.html" title="class in beamline.events">BEvent</a>&nbsp;event)</code></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 </tbody>
 </table>
@@ -169,7 +158,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="navList" title="Navigation">
 <li><a href="../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../HookEventProcessing.html" title="interface in beamline.models.algorithms">Class</a></li>
+<li><a href="../DirectlyFollowsRelation.html" title="class in beamline.models.responses">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
diff --git a/beamline/models/responses/class-use/GraphvizResponse.html b/beamline/models/responses/class-use/GraphvizResponse.html
index 0480ad764f52b63d79446c65355ce4bebcc2ea0a..80458186843a9bd1c41f8c5bdac392bba1975cda 100644
--- a/beamline/models/responses/class-use/GraphvizResponse.html
+++ b/beamline/models/responses/class-use/GraphvizResponse.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Interface beamline.models.responses.GraphvizResponse (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.models.responses.GraphvizResponse (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface beamline.models.responses.GraphvizResponse (framework 0.1.0 API)";
+            parent.document.title="Uses of Class beamline.models.responses.GraphvizResponse (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -47,7 +47,7 @@ loadScripts(document, 'script');</script>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../GraphvizResponse.html" title="interface in beamline.models.responses">Class</a></li>
+<li><a href="../GraphvizResponse.html" title="class in beamline.models.responses">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
@@ -94,7 +94,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h2 title="Uses of Interface beamline.models.responses.GraphvizResponse" class="title">Uses of Interface<br>beamline.models.responses.GraphvizResponse</h2>
+<h2 title="Uses of Class beamline.models.responses.GraphvizResponse" class="title">Uses of Class<br>beamline.models.responses.GraphvizResponse</h2>
 </div>
 <div class="classUseContainer">No usage of beamline.models.responses.GraphvizResponse</div>
 </main>
@@ -111,7 +111,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="navList" title="Navigation">
 <li><a href="../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../GraphvizResponse.html" title="interface in beamline.models.responses">Class</a></li>
+<li><a href="../GraphvizResponse.html" title="class in beamline.models.responses">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
diff --git a/beamline/models/responses/class-use/Response.html b/beamline/models/responses/class-use/Response.html
index f66d0d1852ae59849724439fb8934fc5e3d249bf..89f7c2d2c1de82ca80de5f462914e5d13941ae0d 100644
--- a/beamline/models/responses/class-use/Response.html
+++ b/beamline/models/responses/class-use/Response.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Interface beamline.models.responses.Response (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.models.responses.Response (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface beamline.models.responses.Response (framework 0.1.0 API)";
+            parent.document.title="Uses of Class beamline.models.responses.Response (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -47,7 +47,7 @@ loadScripts(document, 'script');</script>
 <ul class="navList" title="Navigation">
 <li><a href="../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../Response.html" title="interface in beamline.models.responses">Class</a></li>
+<li><a href="../Response.html" title="class in beamline.models.responses">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
@@ -94,19 +94,26 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h2 title="Uses of Interface beamline.models.responses.Response" class="title">Uses of Interface<br>beamline.models.responses.Response</h2>
+<h2 title="Uses of Class beamline.models.responses.Response" class="title">Uses of Class<br>beamline.models.responses.Response</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary">
-<caption><span>Packages that use <a href="../Response.html" title="interface in beamline.models.responses">Response</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../Response.html" title="class in beamline.models.responses">Response</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
+<th class="colFirst" scope="row"><a href="#beamline.models.algorithms">beamline.models.algorithms</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes of the framework necessary to have mining
+ algorithms functioning.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <th class="colFirst" scope="row"><a href="#beamline.models.responses">beamline.models.responses</a></th>
 <td class="colLast">
 <div class="block">This package contains all classes of the framework necessary to handle the
@@ -119,26 +126,63 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li class="blockList">
 <ul class="blockList">
 <li class="blockList">
+<section role="region"><a id="beamline.models.algorithms">
+<!--   -->
+</a>
+<h3>Uses of <a href="../Response.html" title="class in beamline.models.responses">Response</a> in <a href="../../algorithms/package-summary.html">beamline.models.algorithms</a></h3>
+<table class="useSummary">
+<caption><span>Classes in <a href="../../algorithms/package-summary.html">beamline.models.algorithms</a> with type parameters of type <a href="../Response.html" title="class in beamline.models.responses">Response</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../../algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a>&lt;T extends <a href="../Response.html" title="class in beamline.models.responses">Response</a>&gt;</span></code></th>
+<td class="colLast">
+<div class="block">This abstract class defines the root of the mining algorithms hierarchy.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</section>
+</li>
+<li class="blockList">
 <section role="region"><a id="beamline.models.responses">
 <!--   -->
 </a>
-<h3>Uses of <a href="../Response.html" title="interface in beamline.models.responses">Response</a> in <a href="../package-summary.html">beamline.models.responses</a></h3>
+<h3>Uses of <a href="../Response.html" title="class in beamline.models.responses">Response</a> in <a href="../package-summary.html">beamline.models.responses</a></h3>
 <table class="useSummary">
-<caption><span>Subinterfaces of <a href="../Response.html" title="interface in beamline.models.responses">Response</a> in <a href="../package-summary.html">beamline.models.responses</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Subclasses of <a href="../Response.html" title="class in beamline.models.responses">Response</a> in <a href="../package-summary.html">beamline.models.responses</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Interface</th>
+<th class="colSecond" scope="col">Class</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>interface&nbsp;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../GraphvizResponse.html" title="interface in beamline.models.responses">GraphvizResponse</a></span></code></th>
+<td class="colFirst"><code>class&nbsp;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></span></code></th>
+<td class="colLast">
+<div class="block">This class represents a directly follows relation as produced by
+ <a href="../../algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../GraphvizResponse.html" title="class in beamline.models.responses">GraphvizResponse</a></span></code></th>
 <td class="colLast">
-<div class="block">A refined <a href="../Response.html" title="interface in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
+<div class="block">A refined <a href="../Response.html" title="class in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
  language.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../StringResponse.html" title="class in beamline.models.responses">StringResponse</a></span></code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </section>
@@ -161,7 +205,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="navList" title="Navigation">
 <li><a href="../../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../Response.html" title="interface in beamline.models.responses">Class</a></li>
+<li><a href="../Response.html" title="class in beamline.models.responses">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../../deprecated-list.html">Deprecated</a></li>
diff --git a/beamline/utils/package-use.html b/beamline/models/responses/class-use/StringResponse.html
similarity index 55%
rename from beamline/utils/package-use.html
rename to beamline/models/responses/class-use/StringResponse.html
index bc6e32eaa0645edad9424093cb9c8d130d6675ce..de222e47b9d9ba72d0aee922eb6424ffb060afd3 100644
--- a/beamline/utils/package-use.html
+++ b/beamline/models/responses/class-use/StringResponse.html
@@ -2,32 +2,32 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Package beamline.utils (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.models.responses.StringResponse (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-<script type="text/javascript" src="../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<meta name="dc.created" content="2022-03-25">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
 <!--[if IE]>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
 <![endif]-->
-<script type="text/javascript" src="../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../jquery/jquery-ui.js"></script>
+<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
 </head>
 <body>
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Package beamline.utils (framework 0.1.0 API)";
+            parent.document.title="Uses of Class beamline.models.responses.StringResponse (framework 0.1.0 API)";
         }
     }
     catch(err) {
     }
 //-->
-var pathtoroot = "../../";
+var pathtoroot = "../../../../";
 var useModuleDirectories = true;
 loadScripts(document, 'script');</script>
 <noscript>
@@ -45,19 +45,19 @@ loadScripts(document, 'script');</script>
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
+<li><a href="../../../../index.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../StringResponse.html" title="class in beamline.models.responses">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
 </ul>
 <ul class="navListSearch">
 <li><label for="search">SEARCH:</label>
@@ -94,9 +94,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h1 title="Uses of Package beamline.utils" class="title">Uses of Package<br>beamline.utils</h1>
+<h2 title="Uses of Class beamline.models.responses.StringResponse" class="title">Uses of Class<br>beamline.models.responses.StringResponse</h2>
 </div>
-<div class="contentContainer">No usage of beamline.utils</div>
+<div class="classUseContainer">No usage of beamline.models.responses.StringResponse</div>
 </main>
 <footer role="contentinfo">
 <nav role="navigation">
@@ -109,19 +109,19 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <!--   -->
 </a>
 <ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
+<li><a href="../../../../index.html">Overview</a></li>
+<li><a href="../package-summary.html">Package</a></li>
+<li><a href="../StringResponse.html" title="class in beamline.models.responses">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
+<li><a href="../package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
 </ul>
 </div>
 <div class="subNav">
 <ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
+<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
 </ul>
 <div>
 <script type="text/javascript"><!--
diff --git a/beamline/models/responses/package-summary.html b/beamline/models/responses/package-summary.html
index c2e6cefbcacdc9b2c319fe6da3202fe20bb537cf..38db09fc1bb8579136b2fe25e57518e2ec7132e6 100644
--- a/beamline/models/responses/package-summary.html
+++ b/beamline/models/responses/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.models.responses (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -106,25 +106,36 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <table class="typeSummary">
-<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
-<th class="colFirst" scope="col">Interface</th>
+<th class="colFirst" scope="col">Class</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="GraphvizResponse.html" title="interface in beamline.models.responses">GraphvizResponse</a></th>
+<th class="colFirst" scope="row"><a href="DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></th>
 <td class="colLast">
-<div class="block">A refined <a href="Response.html" title="interface in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
- language.</div>
+<div class="block">This class represents a directly follows relation as produced by
+ <a href="../algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="Response.html" title="interface in beamline.models.responses">Response</a></th>
+<th class="colFirst" scope="row"><a href="GraphvizResponse.html" title="class in beamline.models.responses">GraphvizResponse</a></th>
+<td class="colLast">
+<div class="block">A refined <a href="Response.html" title="class in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
+ language.</div>
+</td>
+</tr>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="Response.html" title="class in beamline.models.responses">Response</a></th>
 <td class="colLast">
 <div class="block">Marker interface used to define the type of the responses</div>
 </td>
 </tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="StringResponse.html" title="class in beamline.models.responses">StringResponse</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
 </tbody>
 </table>
 </li>
diff --git a/beamline/models/responses/package-tree.html b/beamline/models/responses/package-tree.html
index 50450752b2aa464056b276be597410bd9a6e8094..94f5c702d1f2ab9b9fa3468b9cf4043492d75c61 100644
--- a/beamline/models/responses/package-tree.html
+++ b/beamline/models/responses/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.models.responses Class Hierarchy (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -102,11 +102,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </div>
 <div class="contentContainer">
 <section role="region">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+<h2 title="Class Hierarchy">Class Hierarchy</h2>
 <ul>
-<li class="circle">beamline.models.responses.<a href="Response.html" title="interface in beamline.models.responses"><span class="typeNameLink">Response</span></a>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Object</span></a>
 <ul>
-<li class="circle">beamline.models.responses.<a href="GraphvizResponse.html" title="interface in beamline.models.responses"><span class="typeNameLink">GraphvizResponse</span></a></li>
+<li class="circle">beamline.models.responses.<a href="Response.html" title="class in beamline.models.responses"><span class="typeNameLink">Response</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)
+<ul>
+<li class="circle">beamline.models.responses.<a href="DirectlyFollowsRelation.html" title="class in beamline.models.responses"><span class="typeNameLink">DirectlyFollowsRelation</span></a></li>
+<li class="circle">beamline.models.responses.<a href="GraphvizResponse.html" title="class in beamline.models.responses"><span class="typeNameLink">GraphvizResponse</span></a></li>
+<li class="circle">beamline.models.responses.<a href="StringResponse.html" title="class in beamline.models.responses"><span class="typeNameLink">StringResponse</span></a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
diff --git a/beamline/models/responses/package-use.html b/beamline/models/responses/package-use.html
index 4ada7a9f6b7e9b82b0f5db5b8148d6c103037020..5edcdc3c047b82b604cd4ddd9a052b7c23510fec 100644
--- a/beamline/models/responses/package-use.html
+++ b/beamline/models/responses/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Package beamline.models.responses (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -107,6 +107,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
+<th class="colFirst" scope="row"><a href="#beamline.models.algorithms">beamline.models.algorithms</a></th>
+<td class="colLast">
+<div class="block">This package contains all classes of the framework necessary to have mining
+ algorithms functioning.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <th class="colFirst" scope="row"><a href="#beamline.models.responses">beamline.models.responses</a></th>
 <td class="colLast">
 <div class="block">This package contains all classes of the framework necessary to handle the
@@ -116,6 +123,32 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tbody>
 </table>
 </li>
+<li class="blockList"><a id="beamline.models.algorithms">
+<!--   -->
+</a>
+<table class="useSummary">
+<caption><span>Classes in <a href="package-summary.html">beamline.models.responses</a> used by <a href="../algorithms/package-summary.html">beamline.models.algorithms</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<th class="colFirst" scope="row"><a href="class-use/DirectlyFollowsRelation.html#beamline.models.algorithms">DirectlyFollowsRelation</a></th>
+<td class="colLast">
+<div class="block">This class represents a directly follows relation as produced by
+ <a href="../algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
+</td>
+</tr>
+<tr class="rowColor">
+<th class="colFirst" scope="row"><a href="class-use/Response.html#beamline.models.algorithms">Response</a></th>
+<td class="colLast">
+<div class="block">Marker interface used to define the type of the responses</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
 <li class="blockList"><a id="beamline.models.responses">
 <!--   -->
 </a>
diff --git a/beamline/mappers/DirectlyFollowsRelation.html b/beamline/sources/BeamlineAbstractSource.html
similarity index 69%
rename from beamline/mappers/DirectlyFollowsRelation.html
rename to beamline/sources/BeamlineAbstractSource.html
index 8e4e5b7eabdc227df02753fd657f9c805958bec0..c8d43600be7c5c8e35bb24537f134480295fd638 100644
--- a/beamline/mappers/DirectlyFollowsRelation.html
+++ b/beamline/sources/BeamlineAbstractSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>DirectlyFollowsRelation (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>BeamlineAbstractSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -21,13 +21,13 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="DirectlyFollowsRelation (framework 0.1.0 API)";
+            parent.document.title="BeamlineAbstractSource (framework 0.1.0 API)";
         }
     }
     catch(err) {
     }
 //-->
-var data = {"i0":10,"i1":10,"i2":10};
+var data = {"i0":10,"i1":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -54,7 +54,7 @@ loadScripts(document, 'script');</script>
 <li><a href="../../index.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DirectlyFollowsRelation.html">Use</a></li>
+<li><a href="class-use/BeamlineAbstractSource.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../index-all.html">Index</a></li>
@@ -89,7 +89,7 @@ loadScripts(document, 'script');</script>
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -116,29 +116,50 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <!-- ======== START OF CLASS DATA ======== -->
 <main role="main">
 <div class="header">
-<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.mappers</a></div>
-<h2 title="Class DirectlyFollowsRelation" class="title">Class DirectlyFollowsRelation</h2>
+<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.sources</a></div>
+<h2 title="Class BeamlineAbstractSource" class="title">Class BeamlineAbstractSource</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>beamline.mappers.DirectlyFollowsRelation</li>
+<li>org.apache.flink.api.common.functions.AbstractRichFunction</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>beamline.sources.BeamlineAbstractSource</li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.Function</code>, <code>org.apache.flink.api.common.functions.RichFunction</code>, <code>org.apache.flink.streaming.api.functions.source.SourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code></dd>
+</dl>
+<dl>
+<dt>Direct Known Subclasses:</dt>
+<dd><code><a href="CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></code>, <code><a href="MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></code>, <code><a href="StringTestSource.html" title="class in beamline.sources">StringTestSource</a></code>, <code><a href="XesLogSource.html" title="class in beamline.sources">XesLogSource</a></code></dd>
+</dl>
 <hr>
-<pre>public class <span class="typeNameLabel">DirectlyFollowsRelation</span>
-extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
-<div class="block">This class represents a directly follows relation as produced by
- <a href="InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
+<pre>public abstract class <span class="typeNameLabel">BeamlineAbstractSource</span>
+extends org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</pre>
+<div class="block">This interface is supposed to bind the type of <code>RichSourceFunction</code> to
+ <a href="../events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> and to provide minimal infrastructure to check if the sourece
+ is currently running.</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.sources.BeamlineAbstractSource">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -146,6 +167,23 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.flink.streaming.api.functions.source.SourceFunction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.flink.streaming.api.functions.source.SourceFunction</h3>
+<code>org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+</section>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <section role="region">
 <ul class="blockList">
@@ -160,12 +198,8 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr class="altColor">
-<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,org.deckfour.xes.model.XEvent,org.deckfour.xes.model.XEvent)">DirectlyFollowsRelation</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
-                       org.deckfour.xes.model.XEvent&nbsp;first,
-                       org.deckfour.xes.model.XEvent&nbsp;second)</code></th>
-<td class="colLast">
-<div class="block">Constructor</div>
-</td>
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">BeamlineAbstractSource</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -186,34 +220,39 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCaseId()">getCaseId</a></span>()</code></th>
-<td class="colLast">
-<div class="block">Returns the case id this directly follows relation belongs to</div>
-</td>
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cancel()">cancel</a></span>()</code></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
-<td class="colFirst"><code>org.deckfour.xes.model.XEvent</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFirst()">getFirst</a></span>()</code></th>
-<td class="colLast">
-<div class="block">Returns the first event</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>org.deckfour.xes.model.XEvent</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getSecond()">getSecond</a></span>()</code></th>
+<td class="colFirst"><code>boolean</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRunning()">isRunning</a></span>()</code></th>
 <td class="colLast">
-<div class="block">Returns the second event</div>
+<div class="block">Returns if the source is still generting events</div>
 </td>
 </tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.org.apache.flink.api.common.functions.AbstractRichFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.flink.api.common.functions.AbstractRichFunction</h3>
+<code>close, getIterationRuntimeContext, getRuntimeContext, open, setRuntimeContext</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
 <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
 </ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.org.apache.flink.streaming.api.functions.source.SourceFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from interface&nbsp;org.apache.flink.streaming.api.functions.source.SourceFunction</h3>
+<code>run</code></li>
+</ul>
 </li>
 </ul>
 </section>
@@ -230,22 +269,13 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a id="&lt;init&gt;(java.lang.String,org.deckfour.xes.model.XEvent,org.deckfour.xes.model.XEvent)">
+<a id="&lt;init&gt;()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>DirectlyFollowsRelation</h4>
-<pre>public&nbsp;DirectlyFollowsRelation&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
-                               org.deckfour.xes.model.XEvent&nbsp;first,
-                               org.deckfour.xes.model.XEvent&nbsp;second)</pre>
-<div class="block">Constructor</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>caseId</code> - the case id</dd>
-<dd><code>first</code> - the first event</dd>
-<dd><code>second</code> - the second event</dd>
-</dl>
+<h4>BeamlineAbstractSource</h4>
+<pre>public&nbsp;BeamlineAbstractSource()</pre>
 </li>
 </ul>
 </li>
@@ -258,46 +288,27 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="getCaseId()">
+<a id="isRunning()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCaseId</h4>
-<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getCaseId()</pre>
-<div class="block">Returns the case id this directly follows relation belongs to</div>
+<h4>isRunning</h4>
+<pre class="methodSignature">public&nbsp;boolean&nbsp;isRunning()</pre>
+<div class="block">Returns if the source is still generting events</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
-<dd>the case id</dd>
+<dd>whether the current source is still running or not</dd>
 </dl>
 </li>
 </ul>
-<a id="getFirst()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getFirst</h4>
-<pre class="methodSignature">public&nbsp;org.deckfour.xes.model.XEvent&nbsp;getFirst()</pre>
-<div class="block">Returns the first event</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the first event</dd>
-</dl>
-</li>
-</ul>
-<a id="getSecond()">
+<a id="cancel()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getSecond</h4>
-<pre class="methodSignature">public&nbsp;org.deckfour.xes.model.XEvent&nbsp;getSecond()</pre>
-<div class="block">Returns the second event</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the second event</dd>
-</dl>
+<h4>cancel</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;cancel()</pre>
 </li>
 </ul>
 </li>
@@ -323,7 +334,7 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
 <li><a href="../../index.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/DirectlyFollowsRelation.html">Use</a></li>
+<li><a href="class-use/BeamlineAbstractSource.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../index-all.html">Index</a></li>
@@ -352,7 +363,7 @@ extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/ja
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
diff --git a/beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html b/beamline/sources/CSVLogSource.ParserConfiguration.html
similarity index 75%
rename from beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html
rename to beamline/sources/CSVLogSource.ParserConfiguration.html
index c8aca98fbed461381ef048d9ac6f7bc15149dafa..174c6a58f470ba438dd23321f5d27ade43406652 100644
--- a/beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html
+++ b/beamline/sources/CSVLogSource.ParserConfiguration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>InfiniteSizeDirectlyFollowsMapper (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>CSVLogSource.ParserConfiguration (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="InfiniteSizeDirectlyFollowsMapper (framework 0.1.0 API)";
+            parent.document.title="CSVLogSource.ParserConfiguration (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -54,7 +54,7 @@ loadScripts(document, 'script');</script>
 <li><a href="../../index.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/InfiniteSizeDirectlyFollowsMapper.html">Use</a></li>
+<li><a href="class-use/CSVLogSource.ParserConfiguration.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../index-all.html">Index</a></li>
@@ -116,15 +116,15 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <!-- ======== START OF CLASS DATA ======== -->
 <main role="main">
 <div class="header">
-<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.mappers</a></div>
-<h2 title="Class InfiniteSizeDirectlyFollowsMapper" class="title">Class InfiniteSizeDirectlyFollowsMapper</h2>
+<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.sources</a></div>
+<h2 title="Class CSVLogSource.ParserConfiguration" class="title">Class CSVLogSource.ParserConfiguration</h2>
 </div>
 <div class="contentContainer">
 <ul class="inheritance">
 <li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
-<li>beamline.mappers.InfiniteSizeDirectlyFollowsMapper</li>
+<li>beamline.sources.CSVLogSource.ParserConfiguration</li>
 </ul>
 </li>
 </ul>
@@ -133,23 +133,22 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code>io.reactivex.rxjava3.functions.Function&lt;org.deckfour.xes.model.XTrace,&#8203;io.reactivex.rxjava3.core.ObservableSource&lt;<a href="DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a>&gt;&gt;</code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></dd>
 </dl>
 <hr>
-<pre>public class <span class="typeNameLabel">InfiniteSizeDirectlyFollowsMapper</span>
+<pre>public static class <span class="typeNameLabel">CSVLogSource.ParserConfiguration</span>
 extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements io.reactivex.rxjava3.functions.Function&lt;org.deckfour.xes.model.XTrace,&#8203;io.reactivex.rxjava3.core.ObservableSource&lt;<a href="DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a>&gt;&gt;</pre>
-<div class="block">This mapper transforms a stream of <code>XTrace</code>s into a stream of
- <a href="DirectlyFollowsRelation.html" title="class in beamline.mappers"><code>DirectlyFollowsRelation</code></a>s. It transforms each pair of consequent
- events appearing in the same case as a directly follows operator (generating
- an object with type <a href="DirectlyFollowsRelation.html" title="class in beamline.mappers"><code>DirectlyFollowsRelation</code></a>).
- 
- <p>
- This mapper is called infinite because it's memory footprint will grow as the
- number of case ids grows as well.</div>
+implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></pre>
+<div class="block">This class is used to configure the parser of the CSV</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.sources.CSVLogSource.ParserConfiguration">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -171,7 +170,7 @@ implements io.reactivex.rxjava3.functions.Function&lt;org.deckfour.xes.model.XTr
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr class="altColor">
-<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">InfiniteSizeDirectlyFollowsMapper</a></span>()</code></th>
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">ParserConfiguration</a></span>()</code></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 </table>
@@ -193,9 +192,11 @@ implements io.reactivex.rxjava3.functions.Function&lt;org.deckfour.xes.model.XTr
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>@NonNull io.reactivex.rxjava3.core.ObservableSource&lt;<a href="DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a>&gt;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#apply(org.deckfour.xes.model.XTrace)">apply</a></span>&#8203;(@NonNull org.deckfour.xes.model.XTrace&nbsp;t)</code></th>
-<td class="colLast">&nbsp;</td>
+<td class="colFirst"><code><a href="CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#withSeparator(char)">withSeparator</a></span>&#8203;(char&nbsp;separator)</code></th>
+<td class="colLast">
+<div class="block">Configures the fields separator</div>
+</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -226,8 +227,8 @@ implements io.reactivex.rxjava3.functions.Function&lt;org.deckfour.xes.model.XTr
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>InfiniteSizeDirectlyFollowsMapper</h4>
-<pre>public&nbsp;InfiniteSizeDirectlyFollowsMapper()</pre>
+<h4>ParserConfiguration</h4>
+<pre>public&nbsp;ParserConfiguration()</pre>
 </li>
 </ul>
 </li>
@@ -240,21 +241,19 @@ implements io.reactivex.rxjava3.functions.Function&lt;org.deckfour.xes.model.XTr
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="apply(org.deckfour.xes.model.XTrace)">
+<a id="withSeparator(char)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>apply</h4>
-<pre class="methodSignature">@NonNull
-public&nbsp;@NonNull io.reactivex.rxjava3.core.ObservableSource&lt;<a href="DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a>&gt;&nbsp;apply&#8203;(@NonNull
-                                                                                          @NonNull org.deckfour.xes.model.XTrace&nbsp;t)
-                                                                                   throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></pre>
+<h4>withSeparator</h4>
+<pre class="methodSignature">public&nbsp;<a href="CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a>&nbsp;withSeparator&#8203;(char&nbsp;separator)</pre>
+<div class="block">Configures the fields separator</div>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code>apply</code>&nbsp;in interface&nbsp;<code>io.reactivex.rxjava3.functions.Function&lt;org.deckfour.xes.model.XTrace,&#8203;io.reactivex.rxjava3.core.ObservableSource&lt;<a href="DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a>&gt;&gt;</code></dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a></code></dd>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>separator</code> - the separator for the lines' fields</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the parser configuration object</dd>
 </dl>
 </li>
 </ul>
@@ -281,7 +280,7 @@ public&nbsp;@NonNull io.reactivex.rxjava3.core.ObservableSource&lt;<a href="Dire
 <li><a href="../../index.html">Overview</a></li>
 <li><a href="package-summary.html">Package</a></li>
 <li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/InfiniteSizeDirectlyFollowsMapper.html">Use</a></li>
+<li><a href="class-use/CSVLogSource.ParserConfiguration.html">Use</a></li>
 <li><a href="package-tree.html">Tree</a></li>
 <li><a href="../../deprecated-list.html">Deprecated</a></li>
 <li><a href="../../index-all.html">Index</a></li>
diff --git a/beamline/sources/CSVLogSource.html b/beamline/sources/CSVLogSource.html
index c2fa5c81e94d5f7fbda654ec35876a2b0688feac..89ea27395da372150ace62b57fb300b3c3d35fe2 100644
--- a/beamline/sources/CSVLogSource.html
+++ b/beamline/sources/CSVLogSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>CSVLogSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -27,7 +27,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":10,"i1":10};
+var data = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -89,7 +89,7 @@ loadScripts(document, 'script');</script>
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -124,26 +124,42 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
+<li>org.apache.flink.api.common.functions.AbstractRichFunction</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="BeamlineAbstractSource.html" title="class in beamline.sources">beamline.sources.BeamlineAbstractSource</a></li>
+<li>
+<ul class="inheritance">
 <li>beamline.sources.CSVLogSource</li>
 </ul>
 </li>
 </ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code>, <code><a href="XesSource.html" title="interface in beamline.sources">XesSource</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.Function</code>, <code>org.apache.flink.api.common.functions.RichFunction</code>, <code>org.apache.flink.streaming.api.functions.source.SourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code></dd>
 </dl>
 <hr>
 <pre>public class <span class="typeNameLabel">CSVLogSource</span>
-extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements <a href="XesSource.html" title="interface in beamline.sources">XesSource</a></pre>
-<div class="block">This implementation of a <a href="XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in a CSV file. This source produces a cold observable.</div>
+extends <a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></pre>
+<div class="block">This implementation of a <a href="BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in a CSV file.</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.sources.CSVLogSource">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -151,6 +167,38 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="memberSummary">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Class</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></span></code></th>
+<td class="colLast">
+<div class="block">This class is used to configure the parser of the CSV</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.flink.streaming.api.functions.source.SourceFunction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.flink.streaming.api.functions.source.SourceFunction</h3>
+<code>org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+</section>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <section role="region">
 <ul class="blockList">
@@ -173,10 +221,10 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,int,int,com.opencsv.CSVParser)">CSVLogSource</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;filename,
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String,int,int,beamline.sources.CSVLogSource.ParserConfiguration)">CSVLogSource</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;filename,
             int&nbsp;caseIdColumn,
             int&nbsp;activityNameColumn,
-            com.opencsv.CSVParser&nbsp;parser)</code></th>
+            <a href="CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a>&nbsp;parserConfiguration)</code></th>
 <td class="colLast">
 <div class="block">Constructs the source by providing a CSV parser.</div>
 </td>
@@ -200,22 +248,26 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>io.reactivex.rxjava3.core.Observable&lt;org.deckfour.xes.model.XTrace&gt;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getObservable()">getObservable</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method returns the observable created by the source.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method is supposed to be called before the <a href="Source.html#getObservable()"><code>Source.getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
-</td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run</a></span>&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)</code></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.beamline.sources.BeamlineAbstractSource">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;beamline.sources.<a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></h3>
+<code><a href="BeamlineAbstractSource.html#cancel()">cancel</a>, <a href="BeamlineAbstractSource.html#isRunning()">isRunning</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.org.apache.flink.api.common.functions.AbstractRichFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.flink.api.common.functions.AbstractRichFunction</h3>
+<code>close, getIterationRuntimeContext, getRuntimeContext, open, setRuntimeContext</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -238,7 +290,7 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a id="&lt;init&gt;(java.lang.String,int,int,com.opencsv.CSVParser)">
+<a id="&lt;init&gt;(java.lang.String,int,int,beamline.sources.CSVLogSource.ParserConfiguration)">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -247,17 +299,8 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <pre>public&nbsp;CSVLogSource&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;filename,
                     int&nbsp;caseIdColumn,
                     int&nbsp;activityNameColumn,
-                    com.opencsv.CSVParser&nbsp;parser)</pre>
-<div class="block">Constructs the source by providing a CSV parser.
- 
- <p>
- A parser can be produced, for example with the following code:
- <pre>
- CSVParser parser = new CSVParserBuilder()
-     .withSeparator(',')
-     .withIgnoreQuotations(true)
-     .build();
- </pre></div>
+                    <a href="CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a>&nbsp;parserConfiguration)</pre>
+<div class="block">Constructs the source by providing a CSV parser.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>filename</code> - the absolute path of the CSV file</dd>
@@ -265,7 +308,8 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
  starts from 0)</dd>
 <dd><code>activityNameColumn</code> - the id of the column containing the activity
  name (counting starts from 0)</dd>
-<dd><code>parser</code> - the parser to be used for parsing the CSV file</dd>
+<dd><code>parserConfiguration</code> - the parser configuration to be used for
+ parsing the CSV file</dd>
 </dl>
 </li>
 </ul>
@@ -299,43 +343,17 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="getObservable()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getObservable</h4>
-<pre class="methodSignature">public&nbsp;io.reactivex.rxjava3.core.Observable&lt;org.deckfour.xes.model.XTrace&gt;&nbsp;getObservable()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Source.html#getObservable()">Source</a></code></span></div>
-<div class="block">This method returns the observable created by the source. Before calling
- this method, it is important to prepare the source by calling the
- <a href="Source.html#prepare()"><code>Source.prepare()</code></a> method.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="Source.html#getObservable()">getObservable</a></code>&nbsp;in interface&nbsp;<code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the <code>Observable</code></dd>
-</dl>
-</li>
-</ul>
-<a id="prepare()">
+<a id="run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>prepare</h4>
-<pre class="methodSignature">public&nbsp;void&nbsp;prepare()
-             throws <a href="../exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Source.html#prepare()">Source</a></code></span></div>
-<div class="block">This method is supposed to be called before the <a href="Source.html#getObservable()"><code>Source.getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
+<h4>run</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;run&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)
+         throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="Source.html#prepare()">prepare</a></code>&nbsp;in interface&nbsp;<code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></code> - while preparing the source, it is important to be
- aware that some sources may generate specific exceptions (e.g., file not
- found, network problems).</dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -391,7 +409,7 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
diff --git a/beamline/sources/MQTTXesSource.html b/beamline/sources/MQTTXesSource.html
index afd0bf4a961b0d8dadd3e5a321901c6a778187fb..3e595baae2550896849240bb818dae6db41d7d31 100644
--- a/beamline/sources/MQTTXesSource.html
+++ b/beamline/sources/MQTTXesSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>MQTTXesSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -27,7 +27,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":10,"i1":10};
+var data = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -89,7 +89,7 @@ loadScripts(document, 'script');</script>
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -124,23 +124,37 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
+<li>org.apache.flink.api.common.functions.AbstractRichFunction</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="BeamlineAbstractSource.html" title="class in beamline.sources">beamline.sources.BeamlineAbstractSource</a></li>
+<li>
+<ul class="inheritance">
 <li>beamline.sources.MQTTXesSource</li>
 </ul>
 </li>
 </ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code>, <code><a href="XesSource.html" title="interface in beamline.sources">XesSource</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.Function</code>, <code>org.apache.flink.api.common.functions.RichFunction</code>, <code>org.apache.flink.streaming.api.functions.source.SourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code></dd>
 </dl>
 <hr>
 <pre>public class <span class="typeNameLabel">MQTTXesSource</span>
-extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements <a href="XesSource.html" title="interface in beamline.sources">XesSource</a></pre>
-<div class="block">This implementation of a <a href="XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events as they are
- observed in an MQTT-XES broker. This source produces a hot observable.
+extends <a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></pre>
+<div class="block">This implementation of a <a href="BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events as
+ they are observed in an MQTT-XES broker.
  
  <p>
  Example of usage:
@@ -154,6 +168,8 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.sources.MQTTXesSource">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -161,6 +177,23 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.flink.streaming.api.functions.source.SourceFunction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.flink.streaming.api.functions.source.SourceFunction</h3>
+<code>org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+</section>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <section role="region">
 <ul class="blockList">
@@ -201,22 +234,26 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>io.reactivex.rxjava3.core.Observable&lt;org.deckfour.xes.model.XTrace&gt;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getObservable()">getObservable</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method returns the observable created by the source.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method is supposed to be called before the <a href="Source.html#getObservable()"><code>Source.getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
-</td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run</a></span>&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)</code></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.beamline.sources.BeamlineAbstractSource">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;beamline.sources.<a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></h3>
+<code><a href="BeamlineAbstractSource.html#cancel()">cancel</a>, <a href="BeamlineAbstractSource.html#isRunning()">isRunning</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.org.apache.flink.api.common.functions.AbstractRichFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.flink.api.common.functions.AbstractRichFunction</h3>
+<code>close, getIterationRuntimeContext, getRuntimeContext, open, setRuntimeContext</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -267,43 +304,17 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="getObservable()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getObservable</h4>
-<pre class="methodSignature">public&nbsp;io.reactivex.rxjava3.core.Observable&lt;org.deckfour.xes.model.XTrace&gt;&nbsp;getObservable()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Source.html#getObservable()">Source</a></code></span></div>
-<div class="block">This method returns the observable created by the source. Before calling
- this method, it is important to prepare the source by calling the
- <a href="Source.html#prepare()"><code>Source.prepare()</code></a> method.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="Source.html#getObservable()">getObservable</a></code>&nbsp;in interface&nbsp;<code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the <code>Observable</code></dd>
-</dl>
-</li>
-</ul>
-<a id="prepare()">
+<a id="run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>prepare</h4>
-<pre class="methodSignature">public&nbsp;void&nbsp;prepare()
-             throws <a href="../exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Source.html#prepare()">Source</a></code></span></div>
-<div class="block">This method is supposed to be called before the <a href="Source.html#getObservable()"><code>Source.getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
+<h4>run</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;run&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)
+         throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="Source.html#prepare()">prepare</a></code>&nbsp;in interface&nbsp;<code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></code> - while preparing the source, it is important to be
- aware that some sources may generate specific exceptions (e.g., file not
- found, network problems).</dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -359,7 +370,7 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
diff --git a/beamline/sources/Source.html b/beamline/sources/Source.html
deleted file mode 100644
index e3378bf35ac6951f11b2207052df007ca52cd2c0..0000000000000000000000000000000000000000
--- a/beamline/sources/Source.html
+++ /dev/null
@@ -1,306 +0,0 @@
-<!DOCTYPE HTML>
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Source (framework 0.1.0 API)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-<script type="text/javascript" src="../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
-<!--[if IE]>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
-<![endif]-->
-<script type="text/javascript" src="../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../jquery/jquery-ui.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Source (framework 0.1.0 API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var data = {"i0":6,"i1":6};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-var pathtoroot = "../../";
-var useModuleDirectories = true;
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<header role="banner">
-<nav role="navigation">
-<div class="fixedNav">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a id="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Source.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<ul class="navListSearch">
-<li><label for="search">SEARCH:</label>
-<input type="text" id="search" value="search" disabled="disabled">
-<input type="reset" id="reset" value="reset" disabled="disabled">
-</li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a id="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-</div>
-<div class="navPadding">&nbsp;</div>
-<script type="text/javascript"><!--
-$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-//-->
-</script>
-</nav>
-</header>
-<!-- ======== START OF CLASS DATA ======== -->
-<main role="main">
-<div class="header">
-<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.sources</a></div>
-<h2 title="Interface Source" class="title">Interface Source&lt;T&gt;</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt><span class="paramLabel">Type Parameters:</span></dt>
-<dd><code>T</code> - the type of observable objects this interface will produce.</dd>
-</dl>
-<dl>
-<dt>All Known Subinterfaces:</dt>
-<dd><code><a href="XesSource.html" title="interface in beamline.sources">XesSource</a></code></dd>
-</dl>
-<dl>
-<dt>All Known Implementing Classes:</dt>
-<dd><code><a href="CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></code>, <code><a href="MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></code>, <code><a href="XesLogSource.html" title="class in beamline.sources">XesLogSource</a></code></dd>
-</dl>
-<hr>
-<pre>public interface <span class="typeNameLabel">Source&lt;T&gt;</span></pre>
-<div class="block">This interface is the base type that should be extended by all sources to be
- used in the framework. When using a source implementing this type, the method
- <a href="#prepare()"><code>prepare()</code></a> should be called <strong>before</strong>
- <a href="#getObservable()"><code>getObservable()</code></a>.</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Andrea Burattin</dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<section role="region">
-<ul class="blockList">
-<li class="blockList"><a id="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Method</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>io.reactivex.rxjava3.core.Observable&lt;<a href="Source.html" title="type parameter in Source">T</a>&gt;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getObservable()">getObservable</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method returns the observable created by the source.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method is supposed to be called before the <a href="#getObservable()"><code>getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<section role="region">
-<ul class="blockList">
-<li class="blockList"><a id="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a id="getObservable()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getObservable</h4>
-<pre class="methodSignature">io.reactivex.rxjava3.core.Observable&lt;<a href="Source.html" title="type parameter in Source">T</a>&gt;&nbsp;getObservable()</pre>
-<div class="block">This method returns the observable created by the source. Before calling
- this method, it is important to prepare the source by calling the
- <a href="#prepare()"><code>prepare()</code></a> method.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the <code>Observable</code></dd>
-</dl>
-</li>
-</ul>
-<a id="prepare()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>prepare</h4>
-<pre class="methodSignature">void&nbsp;prepare()
-      throws <a href="../exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></pre>
-<div class="block">This method is supposed to be called before the <a href="#getObservable()"><code>getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></code> - while preparing the source, it is important to be
- aware that some sources may generate specific exceptions (e.g., file not
- found, network problems).</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</div>
-</div>
-</main>
-<!-- ========= END OF CLASS DATA ========= -->
-<footer role="contentinfo">
-<nav role="navigation">
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a id="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Source.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a id="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</nav>
-<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
-</footer>
-</body>
-</html>
diff --git a/beamline/sources/StringTestSource.html b/beamline/sources/StringTestSource.html
new file mode 100644
index 0000000000000000000000000000000000000000..5cf755f52ae1434082e4b3019035e10c10f237ac
--- /dev/null
+++ b/beamline/sources/StringTestSource.html
@@ -0,0 +1,366 @@
+<!DOCTYPE HTML>
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>StringTestSource (framework 0.1.0 API)</title>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta name="dc.created" content="2022-03-25">
+<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
+<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
+<script type="text/javascript" src="../../script.js"></script>
+<script type="text/javascript" src="../../jquery/jszip/dist/jszip.min.js"></script>
+<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
+<!--[if IE]>
+<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
+<![endif]-->
+<script type="text/javascript" src="../../jquery/jquery-3.5.1.js"></script>
+<script type="text/javascript" src="../../jquery/jquery-ui.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="StringTestSource (framework 0.1.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var data = {"i0":10};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+var pathtoroot = "../../";
+var useModuleDirectories = true;
+loadScripts(document, 'script');</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<header role="banner">
+<nav role="navigation">
+<div class="fixedNav">
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a id="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StringTestSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<ul class="navListSearch">
+<li><label for="search">SEARCH:</label>
+<input type="text" id="search" value="search" disabled="disabled">
+<input type="reset" id="reset" value="reset" disabled="disabled">
+</li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+</div>
+<div class="navPadding">&nbsp;</div>
+<script type="text/javascript"><!--
+$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
+//-->
+</script>
+</nav>
+</header>
+<!-- ======== START OF CLASS DATA ======== -->
+<main role="main">
+<div class="header">
+<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.sources</a></div>
+<h2 title="Class StringTestSource" class="title">Class StringTestSource</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.api.common.functions.AbstractRichFunction</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="BeamlineAbstractSource.html" title="class in beamline.sources">beamline.sources.BeamlineAbstractSource</a></li>
+<li>
+<ul class="inheritance">
+<li>beamline.sources.StringTestSource</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.Function</code>, <code>org.apache.flink.api.common.functions.RichFunction</code>, <code>org.apache.flink.streaming.api.functions.source.SourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code></dd>
+</dl>
+<hr>
+<pre>public class <span class="typeNameLabel">StringTestSource</span>
+extends <a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.sources.StringTestSource">Serialized Form</a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.flink.streaming.api.functions.source.SourceFunction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.flink.streaming.api.functions.source.SourceFunction</h3>
+<code>org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+</section>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Constructor</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr class="altColor">
+<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.lang.String...)">StringTestSource</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;traces)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+</section>
+<!-- ========== METHOD SUMMARY =========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colSecond" scope="col">Method</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run</a></span>&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)</code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.beamline.sources.BeamlineAbstractSource">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;beamline.sources.<a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></h3>
+<code><a href="BeamlineAbstractSource.html#cancel()">cancel</a>, <a href="BeamlineAbstractSource.html#isRunning()">isRunning</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.org.apache.flink.api.common.functions.AbstractRichFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.flink.api.common.functions.AbstractRichFunction</h3>
+<code>close, getIterationRuntimeContext, getRuntimeContext, open, setRuntimeContext</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
+<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a id="&lt;init&gt;(java.lang.String...)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>StringTestSource</h4>
+<pre>public&nbsp;StringTestSource&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>...&nbsp;traces)</pre>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+<!-- ============ METHOD DETAIL ========== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a id="run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>run</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;run&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)
+         throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code></dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+</ul>
+</div>
+</div>
+</main>
+<!-- ========= END OF CLASS DATA ========= -->
+<footer role="contentinfo">
+<nav role="navigation">
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a id="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a id="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../index.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/StringTestSource.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../index-all.html">Index</a></li>
+<li><a href="../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a id="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</nav>
+<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
+</footer>
+</body>
+</html>
diff --git a/beamline/sources/XesLogSource.html b/beamline/sources/XesLogSource.html
index 447b9ab8dea4df9fe944ad7acf59d343c3259545..715d2c92a557edf5ec0a6dd12a1b789bd7a4c1a8 100644
--- a/beamline/sources/XesLogSource.html
+++ b/beamline/sources/XesLogSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>XesLogSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -27,7 +27,7 @@
     catch(err) {
     }
 //-->
-var data = {"i0":10,"i1":10};
+var data = {"i0":10};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -89,7 +89,7 @@ loadScripts(document, 'script');</script>
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
@@ -124,27 +124,43 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
 <li>
 <ul class="inheritance">
+<li>org.apache.flink.api.common.functions.AbstractRichFunction</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li><a href="BeamlineAbstractSource.html" title="class in beamline.sources">beamline.sources.BeamlineAbstractSource</a></li>
+<li>
+<ul class="inheritance">
 <li>beamline.sources.XesLogSource</li>
 </ul>
 </li>
 </ul>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
 <div class="description">
 <ul class="blockList">
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code>, <code><a href="XesSource.html" title="interface in beamline.sources">XesSource</a></code></dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code>org.apache.flink.api.common.functions.Function</code>, <code>org.apache.flink.api.common.functions.RichFunction</code>, <code>org.apache.flink.streaming.api.functions.source.SourceFunction&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;</code></dd>
 </dl>
 <hr>
 <pre>public class <span class="typeNameLabel">XesLogSource</span>
-extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>
-implements <a href="XesSource.html" title="interface in beamline.sources">XesSource</a></pre>
-<div class="block">This implementation of a <a href="XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in an <code>XLog</code>. The events are first sorted according to
- their timestamp and then sent. This source produces a cold observable.</div>
+extends <a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></pre>
+<div class="block">This implementation of a <a href="BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in an <code>XLog</code>. The events are first
+ sorted according to their timestamp and then sent.</div>
 <dl>
 <dt><span class="simpleTagLabel">Author:</span></dt>
 <dd>Andrea Burattin</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../serialized-form.html#beamline.sources.XesLogSource">Serialized Form</a></dd>
 </dl>
 </li>
 </ul>
@@ -152,6 +168,23 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<section role="region">
+<ul class="blockList">
+<li class="blockList"><a id="nested.class.summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.flink.streaming.api.functions.source.SourceFunction">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.flink.streaming.api.functions.source.SourceFunction</h3>
+<code>org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;T extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&gt;</code></li>
+</ul>
+</li>
+</ul>
+</section>
 <!-- ======== CONSTRUCTOR SUMMARY ======== -->
 <section role="region">
 <ul class="blockList">
@@ -196,22 +229,26 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tr id="i0" class="altColor">
-<td class="colFirst"><code>io.reactivex.rxjava3.core.Observable&lt;org.deckfour.xes.model.XTrace&gt;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getObservable()">getObservable</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method returns the observable created by the source.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#prepare()">prepare</a></span>()</code></th>
-<td class="colLast">
-<div class="block">This method is supposed to be called before the <a href="Source.html#getObservable()"><code>Source.getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
-</td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run</a></span>&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)</code></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.beamline.sources.BeamlineAbstractSource">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;beamline.sources.<a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></h3>
+<code><a href="BeamlineAbstractSource.html#cancel()">cancel</a>, <a href="BeamlineAbstractSource.html#isRunning()">isRunning</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a id="methods.inherited.from.class.org.apache.flink.api.common.functions.AbstractRichFunction">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;org.apache.flink.api.common.functions.AbstractRichFunction</h3>
+<code>close, getIterationRuntimeContext, getRuntimeContext, open, setRuntimeContext</code></li>
+</ul>
+<ul class="blockList">
 <li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
 <!--   -->
 </a>
@@ -246,8 +283,8 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>fileName</code> - the file containing the log to use. The file can be
  either a file parsed by <code>XesXmlGZIPParser</code> or <code>XesXmlParser</code>
- (i.e., extensions <code>.xes.gz</code> or <code>.xes</code>). If the file
- is none of these, then <a href="#prepare()"><code>prepare()</code></a> will throw an exception.</dd>
+ (i.e., extensions <code>.xes.gz</code> or <code>.xes</code>) or any other
+ parser currently supported by the OpenXES library.</dd>
 </dl>
 </li>
 </ul>
@@ -257,11 +294,15 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <ul class="blockListLast">
 <li class="blockList">
 <h4>XesLogSource</h4>
-<pre>public&nbsp;XesLogSource&#8203;(org.deckfour.xes.model.XLog&nbsp;log)</pre>
+<pre>public&nbsp;XesLogSource&#8203;(org.deckfour.xes.model.XLog&nbsp;log)
+             throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></pre>
 <div class="block">Constructs a source from the given log</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>log</code> - the log to use as source</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - an exception that might occur when a temporary file
+ is created</dd>
 </dl>
 </li>
 </ul>
@@ -275,43 +316,17 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a id="getObservable()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getObservable</h4>
-<pre class="methodSignature">public&nbsp;io.reactivex.rxjava3.core.Observable&lt;org.deckfour.xes.model.XTrace&gt;&nbsp;getObservable()</pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Source.html#getObservable()">Source</a></code></span></div>
-<div class="block">This method returns the observable created by the source. Before calling
- this method, it is important to prepare the source by calling the
- <a href="Source.html#prepare()"><code>Source.prepare()</code></a> method.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="Source.html#getObservable()">getObservable</a></code>&nbsp;in interface&nbsp;<code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the <code>Observable</code></dd>
-</dl>
-</li>
-</ul>
-<a id="prepare()">
+<a id="run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>prepare</h4>
-<pre class="methodSignature">public&nbsp;void&nbsp;prepare()
-             throws <a href="../exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></pre>
-<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="Source.html#prepare()">Source</a></code></span></div>
-<div class="block">This method is supposed to be called before the <a href="Source.html#getObservable()"><code>Source.getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
+<h4>run</h4>
+<pre class="methodSignature">public&nbsp;void&nbsp;run&#8203;(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext&lt;<a href="../events/BEvent.html" title="class in beamline.events">BEvent</a>&gt;&nbsp;ctx)
+         throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></pre>
 <dl>
-<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
-<dd><code><a href="Source.html#prepare()">prepare</a></code>&nbsp;in interface&nbsp;<code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
 <dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></code> - while preparing the source, it is important to be
- aware that some sources may generate specific exceptions (e.g., file not
- found, network problems).</dd>
+<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink">Exception</a></code></dd>
 </dl>
 </li>
 </ul>
@@ -367,7 +382,7 @@ implements <a href="XesSource.html" title="interface in beamline.sources">XesSou
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
 <li>Field&nbsp;|&nbsp;</li>
 <li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method.summary">Method</a></li>
diff --git a/beamline/sources/XesSource.html b/beamline/sources/XesSource.html
deleted file mode 100644
index 340f43cfad40d1a789b276675ad050444553e0f3..0000000000000000000000000000000000000000
--- a/beamline/sources/XesSource.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE HTML>
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>XesSource (framework 0.1.0 API)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-<script type="text/javascript" src="../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
-<!--[if IE]>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
-<![endif]-->
-<script type="text/javascript" src="../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../jquery/jquery-ui.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="XesSource (framework 0.1.0 API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var pathtoroot = "../../";
-var useModuleDirectories = true;
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<header role="banner">
-<nav role="navigation">
-<div class="fixedNav">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a id="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/XesSource.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<ul class="navListSearch">
-<li><label for="search">SEARCH:</label>
-<input type="text" id="search" value="search" disabled="disabled">
-<input type="reset" id="reset" value="reset" disabled="disabled">
-</li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li>Method</li>
-</ul>
-</div>
-<a id="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-</div>
-<div class="navPadding">&nbsp;</div>
-<script type="text/javascript"><!--
-$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-//-->
-</script>
-</nav>
-</header>
-<!-- ======== START OF CLASS DATA ======== -->
-<main role="main">
-<div class="header">
-<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.sources</a></div>
-<h2 title="Interface XesSource" class="title">Interface XesSource</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Superinterfaces:</dt>
-<dd><code><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</code></dd>
-</dl>
-<dl>
-<dt>All Known Implementing Classes:</dt>
-<dd><code><a href="CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></code>, <code><a href="MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></code>, <code><a href="XesLogSource.html" title="class in beamline.sources">XesLogSource</a></code></dd>
-</dl>
-<hr>
-<pre>public interface <span class="typeNameLabel">XesSource</span>
-extends <a href="Source.html" title="interface in beamline.sources">Source</a>&lt;org.deckfour.xes.model.XTrace&gt;</pre>
-<div class="block">This interface is supposed just to bind the type of <a href="Source.html" title="interface in beamline.sources"><code>Source</code></a> to
- <code>XTrace</code>.</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Andrea Burattin</dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<section role="region">
-<ul class="blockList">
-<li class="blockList"><a id="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a id="methods.inherited.from.class.beamline.sources.Source">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;beamline.sources.<a href="Source.html" title="interface in beamline.sources">Source</a></h3>
-<code><a href="Source.html#getObservable()">getObservable</a>, <a href="Source.html#prepare()">prepare</a></code></li>
-</ul>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</div>
-</div>
-</main>
-<!-- ========= END OF CLASS DATA ========= -->
-<footer role="contentinfo">
-<nav role="navigation">
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a id="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/XesSource.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li>Method</li>
-</ul>
-</div>
-<a id="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</nav>
-<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
-</footer>
-</body>
-</html>
diff --git a/beamline/sources/class-use/XesSource.html b/beamline/sources/class-use/BeamlineAbstractSource.html
similarity index 72%
rename from beamline/sources/class-use/XesSource.html
rename to beamline/sources/class-use/BeamlineAbstractSource.html
index b8a643fd66f619c821a5b882216942ae791c5198..244572b47298fe95dc191c03af7e8224500e8c4d 100644
--- a/beamline/sources/class-use/XesSource.html
+++ b/beamline/sources/class-use/BeamlineAbstractSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Interface beamline.sources.XesSource (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.sources.BeamlineAbstractSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface beamline.sources.XesSource (framework 0.1.0 API)";
+            parent.document.title="Uses of Class beamline.sources.BeamlineAbstractSource (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -47,7 +47,7 @@ loadScripts(document, 'script');</script>
 <ul class="navList" title="Navigation">
 <li><a href="../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../XesSource.html" title="interface in beamline.sources">Class</a></li>
+<li><a href="../BeamlineAbstractSource.html" title="class in beamline.sources">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
@@ -94,13 +94,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h2 title="Uses of Interface beamline.sources.XesSource" class="title">Uses of Interface<br>beamline.sources.XesSource</h2>
+<h2 title="Uses of Class beamline.sources.BeamlineAbstractSource" class="title">Uses of Class<br>beamline.sources.BeamlineAbstractSource</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary">
-<caption><span>Packages that use <a href="../XesSource.html" title="interface in beamline.sources">XesSource</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
@@ -110,8 +110,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colFirst" scope="row"><a href="#beamline.sources">beamline.sources</a></th>
 <td class="colLast">
 <div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
 </td>
 </tr>
 </tbody>
@@ -123,9 +123,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <section role="region"><a id="beamline.sources">
 <!--   -->
 </a>
-<h3>Uses of <a href="../XesSource.html" title="interface in beamline.sources">XesSource</a> in <a href="../package-summary.html">beamline.sources</a></h3>
+<h3>Uses of <a href="../BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a> in <a href="../package-summary.html">beamline.sources</a></h3>
 <table class="useSummary">
-<caption><span>Classes in <a href="../package-summary.html">beamline.sources</a> that implement <a href="../XesSource.html" title="interface in beamline.sources">XesSource</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Subclasses of <a href="../BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a> in <a href="../package-summary.html">beamline.sources</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colSecond" scope="col">Class</th>
@@ -136,24 +136,29 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <td class="colFirst"><code>class&nbsp;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></span></code></th>
 <td class="colLast">
-<div class="block">This implementation of a <a href="../XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in a CSV file.</div>
+<div class="block">This implementation of a <a href="../BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in a CSV file.</div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></span></code></th>
 <td class="colLast">
-<div class="block">This implementation of a <a href="../XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events as they are
- observed in an MQTT-XES broker.</div>
+<div class="block">This implementation of a <a href="../BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events as
+ they are observed in an MQTT-XES broker.</div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../StringTestSource.html" title="class in beamline.sources">StringTestSource</a></span></code></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>class&nbsp;</code></td>
 <th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../XesLogSource.html" title="class in beamline.sources">XesLogSource</a></span></code></th>
 <td class="colLast">
-<div class="block">This implementation of a <a href="../XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in an <code>XLog</code>.</div>
+<div class="block">This implementation of a <a href="../BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in an <code>XLog</code>.</div>
 </td>
 </tr>
 </tbody>
@@ -178,7 +183,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="navList" title="Navigation">
 <li><a href="../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../XesSource.html" title="interface in beamline.sources">Class</a></li>
+<li><a href="../BeamlineAbstractSource.html" title="class in beamline.sources">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
diff --git a/beamline/sources/class-use/Source.html b/beamline/sources/class-use/CSVLogSource.ParserConfiguration.html
similarity index 62%
rename from beamline/sources/class-use/Source.html
rename to beamline/sources/class-use/CSVLogSource.ParserConfiguration.html
index c8570e0a48c190ca98f028b6ce5801f8254e98d6..fff599930e1d8bfdc4260a9640d2aab4fc85edf4 100644
--- a/beamline/sources/class-use/Source.html
+++ b/beamline/sources/class-use/CSVLogSource.ParserConfiguration.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Interface beamline.sources.Source (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.sources.CSVLogSource.ParserConfiguration (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Interface beamline.sources.Source (framework 0.1.0 API)";
+            parent.document.title="Uses of Class beamline.sources.CSVLogSource.ParserConfiguration (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -47,7 +47,7 @@ loadScripts(document, 'script');</script>
 <ul class="navList" title="Navigation">
 <li><a href="../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../Source.html" title="interface in beamline.sources">Class</a></li>
+<li><a href="../CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
@@ -94,13 +94,13 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h2 title="Uses of Interface beamline.sources.Source" class="title">Uses of Interface<br>beamline.sources.Source</h2>
+<h2 title="Uses of Class beamline.sources.CSVLogSource.ParserConfiguration" class="title">Uses of Class<br>beamline.sources.CSVLogSource.ParserConfiguration</h2>
 </div>
 <div class="classUseContainer">
 <ul class="blockList">
 <li class="blockList">
 <table class="useSummary">
-<caption><span>Packages that use <a href="../Source.html" title="interface in beamline.sources">Source</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Packages that use <a href="../CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Package</th>
 <th class="colLast" scope="col">Description</th>
@@ -110,8 +110,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colFirst" scope="row"><a href="#beamline.sources">beamline.sources</a></th>
 <td class="colLast">
 <div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
 </td>
 </tr>
 </tbody>
@@ -123,55 +123,38 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <section role="region"><a id="beamline.sources">
 <!--   -->
 </a>
-<h3>Uses of <a href="../Source.html" title="interface in beamline.sources">Source</a> in <a href="../package-summary.html">beamline.sources</a></h3>
+<h3>Uses of <a href="../CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a> in <a href="../package-summary.html">beamline.sources</a></h3>
 <table class="useSummary">
-<caption><span>Subinterfaces of <a href="../Source.html" title="interface in beamline.sources">Source</a> in <a href="../package-summary.html">beamline.sources</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Methods in <a href="../package-summary.html">beamline.sources</a> that return <a href="../CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Interface</th>
+<th class="colSecond" scope="col">Method</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>interface&nbsp;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../XesSource.html" title="interface in beamline.sources">XesSource</a></span></code></th>
+<td class="colFirst"><code><a href="../CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></code></td>
+<th class="colSecond" scope="row"><span class="typeNameLabel">CSVLogSource.ParserConfiguration.</span><code><span class="memberNameLink"><a href="../CSVLogSource.ParserConfiguration.html#withSeparator(char)">withSeparator</a></span>&#8203;(char&nbsp;separator)</code></th>
 <td class="colLast">
-<div class="block">This interface is supposed just to bind the type of <a href="../Source.html" title="interface in beamline.sources"><code>Source</code></a> to
- <code>XTrace</code>.</div>
+<div class="block">Configures the fields separator</div>
 </td>
 </tr>
 </tbody>
 </table>
 <table class="useSummary">
-<caption><span>Classes in <a href="../package-summary.html">beamline.sources</a> that implement <a href="../Source.html" title="interface in beamline.sources">Source</a></span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Constructors in <a href="../package-summary.html">beamline.sources</a> with parameters of type <a href="../CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Class</th>
+<th class="colFirst" scope="col">Constructor</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></span></code></th>
-<td class="colLast">
-<div class="block">This implementation of a <a href="../XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in a CSV file.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></span></code></th>
-<td class="colLast">
-<div class="block">This implementation of a <a href="../XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events as they are
- observed in an MQTT-XES broker.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>class&nbsp;</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../XesLogSource.html" title="class in beamline.sources">XesLogSource</a></span></code></th>
+<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="../CSVLogSource.html#%3Cinit%3E(java.lang.String,int,int,beamline.sources.CSVLogSource.ParserConfiguration)">CSVLogSource</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;filename,
+            int&nbsp;caseIdColumn,
+            int&nbsp;activityNameColumn,
+            <a href="../CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a>&nbsp;parserConfiguration)</code></th>
 <td class="colLast">
-<div class="block">This implementation of a <a href="../XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in an <code>XLog</code>.</div>
+<div class="block">Constructs the source by providing a CSV parser.</div>
 </td>
 </tr>
 </tbody>
@@ -196,7 +179,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="navList" title="Navigation">
 <li><a href="../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../Source.html" title="interface in beamline.sources">Class</a></li>
+<li><a href="../CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
diff --git a/beamline/sources/class-use/CSVLogSource.html b/beamline/sources/class-use/CSVLogSource.html
index 38f140748e2187c2f6775fb57e32473214edb9b7..54386c7504265933947ecd8feeaffe21085eab20 100644
--- a/beamline/sources/class-use/CSVLogSource.html
+++ b/beamline/sources/class-use/CSVLogSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.sources.CSVLogSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/sources/class-use/MQTTXesSource.html b/beamline/sources/class-use/MQTTXesSource.html
index 506789440ca88f9faf5e10d04af392edd64cf86f..4b52c72a2231e25ecbb75b83f5c98c869a41eb53 100644
--- a/beamline/sources/class-use/MQTTXesSource.html
+++ b/beamline/sources/class-use/MQTTXesSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.sources.MQTTXesSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/utils/class-use/EventUtils.html b/beamline/sources/class-use/StringTestSource.html
similarity index 86%
rename from beamline/utils/class-use/EventUtils.html
rename to beamline/sources/class-use/StringTestSource.html
index f719cf321c0da33d227183ed7a2ce248c39895ae..d75430b754841a405e0f91e5b713a3bb43c9e1a9 100644
--- a/beamline/utils/class-use/EventUtils.html
+++ b/beamline/sources/class-use/StringTestSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>Uses of Class beamline.utils.EventUtils (framework 0.1.0 API)</title>
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
+<title>Uses of Class beamline.sources.StringTestSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
@@ -21,7 +21,7 @@
 <script type="text/javascript"><!--
     try {
         if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="Uses of Class beamline.utils.EventUtils (framework 0.1.0 API)";
+            parent.document.title="Uses of Class beamline.sources.StringTestSource (framework 0.1.0 API)";
         }
     }
     catch(err) {
@@ -47,7 +47,7 @@ loadScripts(document, 'script');</script>
 <ul class="navList" title="Navigation">
 <li><a href="../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../EventUtils.html" title="class in beamline.utils">Class</a></li>
+<li><a href="../StringTestSource.html" title="class in beamline.sources">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
@@ -94,9 +94,9 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </header>
 <main role="main">
 <div class="header">
-<h2 title="Uses of Class beamline.utils.EventUtils" class="title">Uses of Class<br>beamline.utils.EventUtils</h2>
+<h2 title="Uses of Class beamline.sources.StringTestSource" class="title">Uses of Class<br>beamline.sources.StringTestSource</h2>
 </div>
-<div class="classUseContainer">No usage of beamline.utils.EventUtils</div>
+<div class="classUseContainer">No usage of beamline.sources.StringTestSource</div>
 </main>
 <footer role="contentinfo">
 <nav role="navigation">
@@ -111,7 +111,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="navList" title="Navigation">
 <li><a href="../../../index.html">Overview</a></li>
 <li><a href="../package-summary.html">Package</a></li>
-<li><a href="../EventUtils.html" title="class in beamline.utils">Class</a></li>
+<li><a href="../StringTestSource.html" title="class in beamline.sources">Class</a></li>
 <li class="navBarCell1Rev">Use</li>
 <li><a href="../package-tree.html">Tree</a></li>
 <li><a href="../../../deprecated-list.html">Deprecated</a></li>
diff --git a/beamline/sources/class-use/XesLogSource.html b/beamline/sources/class-use/XesLogSource.html
index 1a89a4791480fa4658bc6388ae4dbf79fe4bfa82..0a2d8a58ed3989932e7d1828b6022cea969481a1 100644
--- a/beamline/sources/class-use/XesLogSource.html
+++ b/beamline/sources/class-use/XesLogSource.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Class beamline.sources.XesLogSource (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../../script.js"></script>
diff --git a/beamline/sources/package-summary.html b/beamline/sources/package-summary.html
index 6f4af31bb5778586607a5231303931b769da6c58..710491820d4955dfd4d0f8f252a8d2eaaf11d89f 100644
--- a/beamline/sources/package-summary.html
+++ b/beamline/sources/package-summary.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.sources (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -101,62 +101,55 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <!--   -->
 </a>
 <div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
 </section>
 <ul class="blockList">
 <li class="blockList">
 <table class="typeSummary">
-<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
+<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
-<th class="colFirst" scope="col">Interface</th>
+<th class="colFirst" scope="col">Class</th>
 <th class="colLast" scope="col">Description</th>
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="Source.html" title="interface in beamline.sources">Source</a>&lt;T&gt;</th>
+<th class="colFirst" scope="row"><a href="BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></th>
 <td class="colLast">
-<div class="block">This interface is the base type that should be extended by all sources to be
- used in the framework.</div>
+<div class="block">This interface is supposed to bind the type of <code>RichSourceFunction</code> to
+ <a href="../events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> and to provide minimal infrastructure to check if the sourece
+ is currently running.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="XesSource.html" title="interface in beamline.sources">XesSource</a></th>
+<th class="colFirst" scope="row"><a href="CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></th>
 <td class="colLast">
-<div class="block">This interface is supposed just to bind the type of <a href="Source.html" title="interface in beamline.sources"><code>Source</code></a> to
- <code>XTrace</code>.</div>
+<div class="block">This implementation of a <a href="BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in a CSV file.</div>
 </td>
 </tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="typeSummary">
-<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></th>
+<th class="colFirst" scope="row"><a href="CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></th>
 <td class="colLast">
-<div class="block">This implementation of a <a href="XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in a CSV file.</div>
+<div class="block">This class is used to configure the parser of the CSV</div>
 </td>
 </tr>
 <tr class="rowColor">
 <th class="colFirst" scope="row"><a href="MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></th>
 <td class="colLast">
-<div class="block">This implementation of a <a href="XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events as they are
- observed in an MQTT-XES broker.</div>
+<div class="block">This implementation of a <a href="BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events as
+ they are observed in an MQTT-XES broker.</div>
 </td>
 </tr>
 <tr class="altColor">
+<th class="colFirst" scope="row"><a href="StringTestSource.html" title="class in beamline.sources">StringTestSource</a></th>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <th class="colFirst" scope="row"><a href="XesLogSource.html" title="class in beamline.sources">XesLogSource</a></th>
 <td class="colLast">
-<div class="block">This implementation of a <a href="XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in an <code>XLog</code>.</div>
+<div class="block">This implementation of a <a href="BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in an <code>XLog</code>.</div>
 </td>
 </tr>
 </tbody>
diff --git a/beamline/sources/package-tree.html b/beamline/sources/package-tree.html
index ed70b23161870c1103cd9be97c2c030245ae16d5..86ded755a86543d5839a10c793ab7d5a7f550113 100644
--- a/beamline/sources/package-tree.html
+++ b/beamline/sources/package-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>beamline.sources Class Hierarchy (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -106,19 +106,23 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul>
 <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Object</span></a>
 <ul>
-<li class="circle">beamline.sources.<a href="CSVLogSource.html" title="class in beamline.sources"><span class="typeNameLink">CSVLogSource</span></a> (implements beamline.sources.<a href="XesSource.html" title="interface in beamline.sources">XesSource</a>)</li>
-<li class="circle">beamline.sources.<a href="MQTTXesSource.html" title="class in beamline.sources"><span class="typeNameLink">MQTTXesSource</span></a> (implements beamline.sources.<a href="XesSource.html" title="interface in beamline.sources">XesSource</a>)</li>
-<li class="circle">beamline.sources.<a href="XesLogSource.html" title="class in beamline.sources"><span class="typeNameLink">XesLogSource</span></a> (implements beamline.sources.<a href="XesSource.html" title="interface in beamline.sources">XesSource</a>)</li>
+<li class="circle">org.apache.flink.api.common.functions.AbstractRichFunction (implements org.apache.flink.api.common.functions.RichFunction, java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)
+<ul>
+<li class="circle">org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;OUT&gt; (implements org.apache.flink.streaming.api.functions.source.SourceFunction&lt;T&gt;)
+<ul>
+<li class="circle">beamline.sources.<a href="BeamlineAbstractSource.html" title="class in beamline.sources"><span class="typeNameLink">BeamlineAbstractSource</span></a>
+<ul>
+<li class="circle">beamline.sources.<a href="CSVLogSource.html" title="class in beamline.sources"><span class="typeNameLink">CSVLogSource</span></a></li>
+<li class="circle">beamline.sources.<a href="MQTTXesSource.html" title="class in beamline.sources"><span class="typeNameLink">MQTTXesSource</span></a></li>
+<li class="circle">beamline.sources.<a href="StringTestSource.html" title="class in beamline.sources"><span class="typeNameLink">StringTestSource</span></a></li>
+<li class="circle">beamline.sources.<a href="XesLogSource.html" title="class in beamline.sources"><span class="typeNameLink">XesLogSource</span></a></li>
 </ul>
 </li>
 </ul>
-</section>
-<section role="region">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
-<ul>
-<li class="circle">beamline.sources.<a href="Source.html" title="interface in beamline.sources"><span class="typeNameLink">Source</span></a>&lt;T&gt;
-<ul>
-<li class="circle">beamline.sources.<a href="XesSource.html" title="interface in beamline.sources"><span class="typeNameLink">XesSource</span></a></li>
+</li>
+</ul>
+</li>
+<li class="circle">beamline.sources.<a href="CSVLogSource.ParserConfiguration.html" title="class in beamline.sources"><span class="typeNameLink">CSVLogSource.ParserConfiguration</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)</li>
 </ul>
 </li>
 </ul>
diff --git a/beamline/sources/package-use.html b/beamline/sources/package-use.html
index 33e7c54bf9714a76ace00e3393ca8df5eeeaadef..0a1ce0a173c6cc2da9de6dcda9d1083e2ec24b39 100644
--- a/beamline/sources/package-use.html
+++ b/beamline/sources/package-use.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Uses of Package beamline.sources (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="../../script.js"></script>
@@ -110,8 +110,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colFirst" scope="row"><a href="#beamline.sources">beamline.sources</a></th>
 <td class="colLast">
 <div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
 </td>
 </tr>
 </tbody>
@@ -128,17 +128,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor">
-<th class="colFirst" scope="row"><a href="class-use/Source.html#beamline.sources">Source</a></th>
+<th class="colFirst" scope="row"><a href="class-use/BeamlineAbstractSource.html#beamline.sources">BeamlineAbstractSource</a></th>
 <td class="colLast">
-<div class="block">This interface is the base type that should be extended by all sources to be
- used in the framework.</div>
+<div class="block">This interface is supposed to bind the type of <code>RichSourceFunction</code> to
+ <a href="../events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> and to provide minimal infrastructure to check if the sourece
+ is currently running.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<th class="colFirst" scope="row"><a href="class-use/XesSource.html#beamline.sources">XesSource</a></th>
+<th class="colFirst" scope="row"><a href="class-use/CSVLogSource.ParserConfiguration.html#beamline.sources">CSVLogSource.ParserConfiguration</a></th>
 <td class="colLast">
-<div class="block">This interface is supposed just to bind the type of <a href="Source.html" title="interface in beamline.sources"><code>Source</code></a> to
- <code>XTrace</code>.</div>
+<div class="block">This class is used to configure the parser of the CSV</div>
 </td>
 </tr>
 </tbody>
diff --git a/beamline/utils/EventUtils.html b/beamline/utils/EventUtils.html
deleted file mode 100644
index 914ddb246323a7b4b5f487cf2e29b6448300e5df..0000000000000000000000000000000000000000
--- a/beamline/utils/EventUtils.html
+++ /dev/null
@@ -1,404 +0,0 @@
-<!DOCTYPE HTML>
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>EventUtils (framework 0.1.0 API)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-<script type="text/javascript" src="../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
-<!--[if IE]>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
-<![endif]-->
-<script type="text/javascript" src="../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../jquery/jquery-ui.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="EventUtils (framework 0.1.0 API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-var pathtoroot = "../../";
-var useModuleDirectories = true;
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<header role="banner">
-<nav role="navigation">
-<div class="fixedNav">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a id="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EventUtils.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<ul class="navListSearch">
-<li><label for="search">SEARCH:</label>
-<input type="text" id="search" value="search" disabled="disabled">
-<input type="reset" id="reset" value="reset" disabled="disabled">
-</li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a id="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-</div>
-<div class="navPadding">&nbsp;</div>
-<script type="text/javascript"><!--
-$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-//-->
-</script>
-</nav>
-</header>
-<!-- ======== START OF CLASS DATA ======== -->
-<main role="main">
-<div class="header">
-<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">beamline.utils</a></div>
-<h2 title="Class EventUtils" class="title">Class EventUtils</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li>beamline.utils.EventUtils</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<pre>public class <span class="typeNameLabel">EventUtils</span>
-extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
-<div class="block">This class contains some utility methods useful to handle and process events.</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Andrea Burattin</dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<section role="region">
-<ul class="blockList">
-<li class="blockList"><a id="method.summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colSecond" scope="col">Method</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static org.deckfour.xes.model.XTrace</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(java.lang.String,java.lang.String)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
-      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId)</code></th>
-<td class="colLast">
-<div class="block">Creates a new <code>XTrace</code> referring to one event.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static org.deckfour.xes.model.XTrace</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(java.lang.String,java.lang.String,java.util.Date)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
-      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
-      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time)</code></th>
-<td class="colLast">
-<div class="block">Creates a new <code>XTrace</code> referring to one event</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static org.deckfour.xes.model.XTrace</code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#create(java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">create</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
-      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
-      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time,
-      <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;&nbsp;eventAttributes)</code></th>
-<td class="colLast">
-<div class="block">Creates a new <code>XTrace</code> referring to one event</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getActivityName(org.deckfour.xes.model.XTrace)">getActivityName</a></span>&#8203;(org.deckfour.xes.model.XTrace&nbsp;event)</code></th>
-<td class="colLast">
-<div class="block">Extracts the activity name</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>static <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a></code></td>
-<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCaseId(org.deckfour.xes.model.XTrace)">getCaseId</a></span>&#8203;(org.deckfour.xes.model.XTrace&nbsp;event)</code></th>
-<td class="colLast">
-<div class="block">Extracts the case id</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
-<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<section role="region">
-<ul class="blockList">
-<li class="blockList"><a id="method.detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a id="create(java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>create</h4>
-<pre class="methodSignature">public static&nbsp;org.deckfour.xes.model.XTrace&nbsp;create&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
-                                                   <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
-                                                   <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time,
-                                                   <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;org.apache.commons.lang3.tuple.Pair&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;&gt;&nbsp;eventAttributes)
-                                            throws <a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></pre>
-<div class="block">Creates a new <code>XTrace</code> referring to one event</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>activityName</code> - the name of the activity</dd>
-<dd><code>caseId</code> - the identifier of the process instance</dd>
-<dd><code>time</code> - the time when the event has happened</dd>
-<dd><code>eventAttributes</code> - a collection of string attributes for the event</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the new event</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></code> - this exception is thrown is incomplete information
- is provided</dd>
-</dl>
-</li>
-</ul>
-<a id="create(java.lang.String,java.lang.String,java.util.Date)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>create</h4>
-<pre class="methodSignature">public static&nbsp;org.deckfour.xes.model.XTrace&nbsp;create&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
-                                                   <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId,
-                                                   <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Date.html?is-external=true" title="class or interface in java.util" class="externalLink">Date</a>&nbsp;time)
-                                            throws <a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></pre>
-<div class="block">Creates a new <code>XTrace</code> referring to one event</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>activityName</code> - the name of the activity</dd>
-<dd><code>caseId</code> - the identifier of the process instance</dd>
-<dd><code>time</code> - the time when the event has happened</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the new event</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></code> - this exception is thrown is incomplete information
- is provided</dd>
-</dl>
-</li>
-</ul>
-<a id="create(java.lang.String,java.lang.String)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>create</h4>
-<pre class="methodSignature">public static&nbsp;org.deckfour.xes.model.XTrace&nbsp;create&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;activityName,
-                                                   <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;caseId)
-                                            throws <a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></pre>
-<div class="block">Creates a new <code>XTrace</code> referring to one event. The time of the
- event is set to the current time</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>activityName</code> - the name of the activity</dd>
-<dd><code>caseId</code> - the identifier of the process instance</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the new event</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code><a href="../exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></code> - this exception is thrown is incomplete information
- is provided</dd>
-</dl>
-</li>
-</ul>
-<a id="getActivityName(org.deckfour.xes.model.XTrace)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getActivityName</h4>
-<pre class="methodSignature">public static&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getActivityName&#8203;(org.deckfour.xes.model.XTrace&nbsp;event)</pre>
-<div class="block">Extracts the activity name</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>event</code> - the event</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the activity name</dd>
-</dl>
-</li>
-</ul>
-<a id="getCaseId(org.deckfour.xes.model.XTrace)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getCaseId</h4>
-<pre class="methodSignature">public static&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;getCaseId&#8203;(org.deckfour.xes.model.XTrace&nbsp;event)</pre>
-<div class="block">Extracts the case id</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>event</code> - the event</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the case id</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</section>
-</li>
-</ul>
-</div>
-</div>
-</main>
-<!-- ========= END OF CLASS DATA ========= -->
-<footer role="contentinfo">
-<nav role="navigation">
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a id="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/EventUtils.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a id="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</nav>
-<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
-</footer>
-</body>
-</html>
diff --git a/beamline/utils/package-tree.html b/beamline/utils/package-tree.html
deleted file mode 100644
index 9e24173843a289a114720f3e5b8ad7f1563e52f2..0000000000000000000000000000000000000000
--- a/beamline/utils/package-tree.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!DOCTYPE HTML>
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
-<title>beamline.utils Class Hierarchy (framework 0.1.0 API)</title>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<link rel="stylesheet" type="text/css" href="../../jquery/jquery-ui.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-<script type="text/javascript" src="../../jquery/jszip/dist/jszip.min.js"></script>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
-<!--[if IE]>
-<script type="text/javascript" src="../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
-<![endif]-->
-<script type="text/javascript" src="../../jquery/jquery-3.5.1.js"></script>
-<script type="text/javascript" src="../../jquery/jquery-ui.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
-    try {
-        if (location.href.indexOf('is-external=true') == -1) {
-            parent.document.title="beamline.utils Class Hierarchy (framework 0.1.0 API)";
-        }
-    }
-    catch(err) {
-    }
-//-->
-var pathtoroot = "../../";
-var useModuleDirectories = true;
-loadScripts(document, 'script');</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<header role="banner">
-<nav role="navigation">
-<div class="fixedNav">
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a id="navbar.top">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.top.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<ul class="navListSearch">
-<li><label for="search">SEARCH:</label>
-<input type="text" id="search" value="search" disabled="disabled">
-<input type="reset" id="reset" value="reset" disabled="disabled">
-</li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_top");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<a id="skip.navbar.top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-</div>
-<div class="navPadding">&nbsp;</div>
-<script type="text/javascript"><!--
-$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
-//-->
-</script>
-</nav>
-</header>
-<main role="main">
-<div class="header">
-<h1 class="title">Hierarchy For Package beamline.utils</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<section role="region">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Object</span></a>
-<ul>
-<li class="circle">beamline.utils.<a href="EventUtils.html" title="class in beamline.utils"><span class="typeNameLink">EventUtils</span></a></li>
-</ul>
-</li>
-</ul>
-</section>
-</div>
-</main>
-<footer role="contentinfo">
-<nav role="navigation">
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a id="navbar.bottom">
-<!--   -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a id="navbar.bottom.firstrow">
-<!--   -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../index.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-all.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses.html">All&nbsp;Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
-  allClassesLink = document.getElementById("allclasses_navbar_bottom");
-  if(window==top) {
-    allClassesLink.style.display = "block";
-  }
-  else {
-    allClassesLink.style.display = "none";
-  }
-  //-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-</div>
-<a id="skip.navbar.bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</nav>
-<p class="legalCopy"><small>Copyright &#169; 2022. All rights reserved.</small></p>
-</footer>
-</body>
-</html>
diff --git a/constant-values.html b/constant-values.html
index 3a5bca08ce9f1c042f549f136f7c72cb3a12e467..32ad069f7c0470ae780247ba05d0c98ba357c2b8 100644
--- a/constant-values.html
+++ b/constant-values.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Constant Field Values (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
diff --git a/deprecated-list.html b/deprecated-list.html
index 12158a5fba38123d3589c30cf83d6fb04fa38af2..c8651e8c1fb20ec45718942bef90022dd72786e3 100644
--- a/deprecated-list.html
+++ b/deprecated-list.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Deprecated List (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
diff --git a/element-list b/element-list
index 200c64e8cf1d0a042ea083d7f817adc33e57456d..60c7db72417065433c2cccc45ad6c66721b8fb00 100644
--- a/element-list
+++ b/element-list
@@ -1,7 +1,6 @@
+beamline.events
 beamline.exceptions
 beamline.filters
-beamline.mappers
 beamline.models.algorithms
 beamline.models.responses
 beamline.sources
-beamline.utils
diff --git a/help-doc.html b/help-doc.html
index c42ada5b5307f0ce16ecab4b0ef506fbec069018..1ea786eb159450fcd850b4cffe22d9214eeb2795 100644
--- a/help-doc.html
+++ b/help-doc.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>API Help (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
diff --git a/index-all.html b/index-all.html
index dd6fd039f58bd2f01342952d35f3a6bd5cf2351b..aea5ff6faff6fd720bdcb7e857731c9046df50fe 100644
--- a/index-all.html
+++ b/index-all.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Index (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -93,13 +93,11 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </nav>
 </header>
 <main role="main">
-<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:X">X</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="I:A">
+<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a><a id="I:A">
 <!--   -->
 </a>
 <h2 class="title">A</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#accept(T)">accept(T)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html#addValue(T)">addValue(T)</a></span> - Method in class beamline.filters.<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a></dt>
 <dd>
 <div class="block">Adds the value to the list of values to be considered for removal</div>
@@ -108,14 +106,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Adds the value to the list of values to be considered for retention</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html#apply(org.deckfour.xes.model.XTrace)">apply(XTrace)</a></span> - Method in class beamline.mappers.<a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers">InfiniteSizeDirectlyFollowsMapper</a></dt>
-<dd>&nbsp;</dd>
 </dl>
 <a id="I:B">
 <!--   -->
 </a>
 <h2 class="title">B</h2>
 <dl>
+<dt><a href="beamline/events/package-summary.html">beamline.events</a> - package beamline.events</dt>
+<dd>&nbsp;</dd>
 <dt><a href="beamline/exceptions/package-summary.html">beamline.exceptions</a> - package beamline.exceptions</dt>
 <dd>&nbsp;</dd>
 <dt><a href="beamline/filters/package-summary.html">beamline.filters</a> - package beamline.filters</dt>
@@ -123,11 +121,6 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="block">This package contains some filters that are available by default in the
  framework.</div>
 </dd>
-<dt><a href="beamline/mappers/package-summary.html">beamline.mappers</a> - package beamline.mappers</dt>
-<dd>
-<div class="block">This package contains some mappers that are available by default in the
- framework.</div>
-</dd>
 <dt><a href="beamline/models/algorithms/package-summary.html">beamline.models.algorithms</a> - package beamline.models.algorithms</dt>
 <dd>
 <div class="block">This package contains all classes of the framework necessary to have mining
@@ -141,12 +134,22 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dt><a href="beamline/sources/package-summary.html">beamline.sources</a> - package beamline.sources</dt>
 <dd>
 <div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
 </dd>
-<dt><a href="beamline/utils/package-summary.html">beamline.utils</a> - package beamline.utils</dt>
+<dt><a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources"><span class="typeNameLink">BeamlineAbstractSource</span></a> - Class in <a href="beamline/sources/package-summary.html">beamline.sources</a></dt>
 <dd>
-<div class="block">This package contains utility classes to be used throughout the framework.</div>
+<div class="block">This interface is supposed to bind the type of <code>RichSourceFunction</code> to
+ <a href="beamline/events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> and to provide minimal infrastructure to check if the sourece
+ is currently running.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="beamline/sources/BeamlineAbstractSource.html#%3Cinit%3E()">BeamlineAbstractSource()</a></span> - Constructor for class beamline.sources.<a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="beamline/events/BEvent.html" title="class in beamline.events"><span class="typeNameLink">BEvent</span></a> - Class in <a href="beamline/events/package-summary.html">beamline.events</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#%3Cinit%3E()">BEvent()</a></span> - Constructor for class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>
+<div class="block">Constructor of a new event</div>
 </dd>
 </dl>
 <a id="I:C">
@@ -154,43 +157,51 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </a>
 <h2 class="title">C</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="beamline/utils/EventUtils.html#create(java.lang.String,java.lang.String)">create(String, String)</a></span> - Static method in class beamline.utils.<a href="beamline/utils/EventUtils.html" title="class in beamline.utils">EventUtils</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/sources/BeamlineAbstractSource.html#cancel()">cancel()</a></span> - Method in class beamline.sources.<a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#compareTo(beamline.events.BEvent)">compareTo(BEvent)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#create(java.lang.String,java.lang.String,java.lang.String)">create(String, String, String)</a></span> - Static method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
 <dd>
 <div class="block">Creates a new <code>XTrace</code> referring to one event.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/utils/EventUtils.html#create(java.lang.String,java.lang.String,java.util.Date)">create(String, String, Date)</a></span> - Static method in class beamline.utils.<a href="beamline/utils/EventUtils.html" title="class in beamline.utils">EventUtils</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#create(java.lang.String,java.lang.String,java.lang.String,java.util.Date)">create(String, String, String, Date)</a></span> - Static method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
 <dd>
-<div class="block">Creates a new <code>XTrace</code> referring to one event</div>
+<div class="block">Creates a new <a href="beamline/events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/utils/EventUtils.html#create(java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">create(String, String, Date, Collection&lt;Pair&lt;String, String&gt;&gt;)</a></span> - Static method in class beamline.utils.<a href="beamline/utils/EventUtils.html" title="class in beamline.utils">EventUtils</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#create(java.lang.String,java.lang.String,java.lang.String,java.util.Date,java.util.Collection)">create(String, String, String, Date, Collection&lt;Pair&lt;String, String&gt;&gt;)</a></span> - Static method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
 <dd>
-<div class="block">Creates a new <code>XTrace</code> referring to one event</div>
+<div class="block">Creates a new <a href="beamline/events/BEvent.html" title="class in beamline.events"><code>BEvent</code></a> referring to one event</div>
 </dd>
 <dt><a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources"><span class="typeNameLink">CSVLogSource</span></a> - Class in <a href="beamline/sources/package-summary.html">beamline.sources</a></dt>
 <dd>
-<div class="block">This implementation of a <a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in a CSV file.</div>
+<div class="block">This implementation of a <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in a CSV file.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="beamline/sources/CSVLogSource.html#%3Cinit%3E(java.lang.String,int,int)">CSVLogSource(String, int, int)</a></span> - Constructor for class beamline.sources.<a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></dt>
 <dd>
 <div class="block">Constructs the source</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/sources/CSVLogSource.html#%3Cinit%3E(java.lang.String,int,int,com.opencsv.CSVParser)">CSVLogSource(String, int, int, CSVParser)</a></span> - Constructor for class beamline.sources.<a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/sources/CSVLogSource.html#%3Cinit%3E(java.lang.String,int,int,beamline.sources.CSVLogSource.ParserConfiguration)">CSVLogSource(String, int, int, CSVLogSource.ParserConfiguration)</a></span> - Constructor for class beamline.sources.<a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></dt>
 <dd>
 <div class="block">Constructs the source by providing a CSV parser.</div>
 </dd>
+<dt><a href="beamline/sources/CSVLogSource.ParserConfiguration.html" title="class in beamline.sources"><span class="typeNameLink">CSVLogSource.ParserConfiguration</span></a> - Class in <a href="beamline/sources/package-summary.html">beamline.sources</a></dt>
+<dd>
+<div class="block">This class is used to configure the parser of the CSV</div>
+</dd>
 </dl>
 <a id="I:D">
 <!--   -->
 </a>
 <h2 class="title">D</h2>
 <dl>
-<dt><a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers"><span class="typeNameLink">DirectlyFollowsRelation</span></a> - Class in <a href="beamline/mappers/package-summary.html">beamline.mappers</a></dt>
+<dt><a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses"><span class="typeNameLink">DirectlyFollowsRelation</span></a> - Class in <a href="beamline/models/responses/package-summary.html">beamline.models.responses</a></dt>
 <dd>
 <div class="block">This class represents a directly follows relation as produced by
- <a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
+ <a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><code>InfiniteSizeDirectlyFollowsMapper</code></a>.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/mappers/DirectlyFollowsRelation.html#%3Cinit%3E(java.lang.String,org.deckfour.xes.model.XEvent,org.deckfour.xes.model.XEvent)">DirectlyFollowsRelation(String, XEvent, XEvent)</a></span> - Constructor for class beamline.mappers.<a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/DirectlyFollowsRelation.html#%3Cinit%3E(beamline.events.BEvent,beamline.events.BEvent)">DirectlyFollowsRelation(BEvent, BEvent)</a></span> - Constructor for class beamline.models.responses.<a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></dt>
 <dd>
 <div class="block">Constructor</div>
 </dd>
@@ -200,14 +211,14 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </a>
 <h2 class="title">E</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/DirectlyFollowsRelation.html#equals(java.lang.Object)">equals(Object)</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="beamline/exceptions/EventException.html" title="class in beamline.exceptions"><span class="typeNameLink">EventException</span></a> - Exception in <a href="beamline/exceptions/package-summary.html">beamline.exceptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="beamline/exceptions/EventException.html#%3Cinit%3E(java.lang.String)">EventException(String)</a></span> - Constructor for exception beamline.exceptions.<a href="beamline/exceptions/EventException.html" title="class in beamline.exceptions">EventException</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="beamline/utils/EventUtils.html" title="class in beamline.utils"><span class="typeNameLink">EventUtils</span></a> - Class in <a href="beamline/utils/package-summary.html">beamline.utils</a></dt>
-<dd>
-<div class="block">This class contains some utility methods useful to handle and process events.</div>
-</dd>
 <dt><a href="beamline/filters/ExcludeActivitiesFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeActivitiesFilter</span></a> - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
 <dd>
 <div class="block">A specific instance of the <a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><code>ExcludeOnEventAttributeEqualityFilter</code></a> that
@@ -217,7 +228,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Constructors</div>
 </dd>
-<dt><a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnCaseAttributeEqualityFilter</span></a>&lt;<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="type parameter in ExcludeOnCaseAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt; - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
+<dt><a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnCaseAttributeEqualityFilter</span></a>&lt;<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="type parameter in ExcludeOnCaseAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
 <dd>
 <div class="block">This filter excludes events based on the equality of a certain trace
  attribute to a given set of values.</div>
@@ -226,7 +237,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Constructor</div>
 </dd>
-<dt><a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnEventAttributeEqualityFilter</span></a>&lt;<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="type parameter in ExcludeOnEventAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt; - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
+<dt><a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnEventAttributeEqualityFilter</span></a>&lt;<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="type parameter in ExcludeOnEventAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
 <dd>
 <div class="block">This filter excludes events based on the equality of a certain event
  attribute to a given set of values.</div>
@@ -236,88 +247,105 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <div class="block">Constructor</div>
 </dd>
 </dl>
+<a id="I:F">
+<!--   -->
+</a>
+<h2 class="title">F</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter(BEvent)</a></span> - Method in class beamline.filters.<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnCaseAttributeEqualityFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter(BEvent)</a></span> - Method in class beamline.filters.<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter(BEvent)</a></span> - Method in class beamline.filters.<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnCaseAttributeEqualityFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html#filter(beamline.events.BEvent)">filter(BEvent)</a></span> - Method in class beamline.filters.<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#flatMap(beamline.events.BEvent,org.apache.flink.util.Collector)">flatMap(BEvent, Collector&lt;T&gt;)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
+<dd>&nbsp;</dd>
+</dl>
 <a id="I:G">
 <!--   -->
 </a>
 <h2 class="title">G</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="beamline/models/responses/GraphvizResponse.html#generateDot()">generateDot()</a></span> - Method in interface beamline.models.responses.<a href="beamline/models/responses/GraphvizResponse.html" title="interface in beamline.models.responses">GraphvizResponse</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/GraphvizResponse.html#generateDot()">generateDot()</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/GraphvizResponse.html" title="class in beamline.models.responses">GraphvizResponse</a></dt>
 <dd>
 <div class="block">Returns the Dot representation of the response</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/utils/EventUtils.html#getActivityName(org.deckfour.xes.model.XTrace)">getActivityName(XTrace)</a></span> - Static method in class beamline.utils.<a href="beamline/utils/EventUtils.html" title="class in beamline.utils">EventUtils</a></dt>
-<dd>
-<div class="block">Extracts the activity name</div>
-</dd>
-<dt><span class="memberNameLink"><a href="beamline/mappers/DirectlyFollowsRelation.html#getCaseId()">getCaseId()</a></span> - Method in class beamline.mappers.<a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/StringResponse.html#get()">get()</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses">StringResponse</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/DirectlyFollowsRelation.html#getCaseId()">getCaseId()</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></dt>
 <dd>
 <div class="block">Returns the case id this directly follows relation belongs to</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/utils/EventUtils.html#getCaseId(org.deckfour.xes.model.XTrace)">getCaseId(XTrace)</a></span> - Static method in class beamline.utils.<a href="beamline/utils/EventUtils.html" title="class in beamline.utils">EventUtils</a></dt>
-<dd>
-<div class="block">Extracts the case id</div>
-</dd>
-<dt><span class="memberNameLink"><a href="beamline/mappers/DirectlyFollowsRelation.html#getFirst()">getFirst()</a></span> - Method in class beamline.mappers.<a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></dt>
-<dd>
-<div class="block">Returns the first event</div>
-</dd>
-<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#getLatestResponse()">getLatestResponse()</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
-<dd>
-<div class="block">Returns the latest result of the mining</div>
-</dd>
-<dt><span class="memberNameLink"><a href="beamline/sources/CSVLogSource.html#getObservable()">getObservable()</a></span> - Method in class beamline.sources.<a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#getEventAttributes()">getEventAttributes()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#getEventName()">getEventName()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/sources/MQTTXesSource.html#getObservable()">getObservable()</a></span> - Method in class beamline.sources.<a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#getEventTime()">getEventTime()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/sources/Source.html#getObservable()">getObservable()</a></span> - Method in interface beamline.sources.<a href="beamline/sources/Source.html" title="interface in beamline.sources">Source</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/DirectlyFollowsRelation.html#getFrom()">getFrom()</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></dt>
 <dd>
-<div class="block">This method returns the observable created by the source.</div>
+<div class="block">Returns the source event</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/sources/XesLogSource.html#getObservable()">getObservable()</a></span> - Method in class beamline.sources.<a href="beamline/sources/XesLogSource.html" title="class in beamline.sources">XesLogSource</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#getLogAttributes()">getLogAttributes()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#getProcessedEvents()">getProcessedEvents()</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
 <dd>
 <div class="block">Returns the total number of events processed so far</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/mappers/DirectlyFollowsRelation.html#getSecond()">getSecond()</a></span> - Method in class beamline.mappers.<a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers">DirectlyFollowsRelation</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/Response.html#getProcessedEvents()">getProcessedEvents()</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#getProcessName()">getProcessName()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/DirectlyFollowsRelation.html#getTo()">getTo()</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></dt>
 <dd>
-<div class="block">Returns the second event</div>
+<div class="block">Returns the target event</div>
 </dd>
-<dt><a href="beamline/models/responses/GraphvizResponse.html" title="interface in beamline.models.responses"><span class="typeNameLink">GraphvizResponse</span></a> - Interface in <a href="beamline/models/responses/package-summary.html">beamline.models.responses</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#getTraceAttributes()">getTraceAttributes()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#getTraceName()">getTraceName()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="beamline/models/responses/GraphvizResponse.html" title="class in beamline.models.responses"><span class="typeNameLink">GraphvizResponse</span></a> - Class in <a href="beamline/models/responses/package-summary.html">beamline.models.responses</a></dt>
 <dd>
-<div class="block">A refined <a href="beamline/models/responses/Response.html" title="interface in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
+<div class="block">A refined <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses"><code>Response</code></a> that can be rendered in Graphviz using the Dot
  language.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/GraphvizResponse.html#%3Cinit%3E()">GraphvizResponse()</a></span> - Constructor for class beamline.models.responses.<a href="beamline/models/responses/GraphvizResponse.html" title="class in beamline.models.responses">GraphvizResponse</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a id="I:H">
 <!--   -->
 </a>
 <h2 class="title">H</h2>
 <dl>
-<dt><a href="beamline/models/algorithms/HookEventProcessing.html" title="interface in beamline.models.algorithms"><span class="typeNameLink">HookEventProcessing</span></a> - Interface in <a href="beamline/models/algorithms/package-summary.html">beamline.models.algorithms</a></dt>
-<dd>
-<div class="block">This interface defines the structure of the callback function that a
- <a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><code>StreamMiningAlgorithm</code></a> can execute (cf.,
- <a href="beamline/models/algorithms/StreamMiningAlgorithm.html#setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnBeforeEvent(HookEventProcessing)</code></a> and
- <a href="beamline/models/algorithms/StreamMiningAlgorithm.html#setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)"><code>StreamMiningAlgorithm.setOnAfterEvent(HookEventProcessing)</code></a>).</div>
-</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#hashCode()">hashCode()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/DirectlyFollowsRelation.html#hashCode()">hashCode()</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a id="I:I">
 <!--   -->
 </a>
 <h2 class="title">I</h2>
 <dl>
-<dt><a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers"><span class="typeNameLink">InfiniteSizeDirectlyFollowsMapper</span></a> - Class in <a href="beamline/mappers/package-summary.html">beamline.mappers</a></dt>
+<dt><a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><span class="typeNameLink">InfiniteSizeDirectlyFollowsMapper</span></a> - Class in <a href="beamline/models/algorithms/package-summary.html">beamline.models.algorithms</a></dt>
 <dd>
 <div class="block">This mapper transforms a stream of <code>XTrace</code>s into a stream of
- <a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers"><code>DirectlyFollowsRelation</code></a>s.</div>
+ <a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses"><code>DirectlyFollowsRelation</code></a>s.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html#%3Cinit%3E()">InfiniteSizeDirectlyFollowsMapper()</a></span> - Constructor for class beamline.mappers.<a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers">InfiniteSizeDirectlyFollowsMapper</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html#%3Cinit%3E()">InfiniteSizeDirectlyFollowsMapper()</a></span> - Constructor for class beamline.models.algorithms.<a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">InfiniteSizeDirectlyFollowsMapper</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#ingest(T)">ingest(T)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html#ingest(beamline.events.BEvent)">ingest(BEvent)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">InfiniteSizeDirectlyFollowsMapper</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#ingest(beamline.events.BEvent)">ingest(BEvent)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
 <dd>
 <div class="block">This abstract method is what each derive class is expected to implement.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="beamline/sources/BeamlineAbstractSource.html#isRunning()">isRunning()</a></span> - Method in class beamline.sources.<a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a></dt>
+<dd>
+<div class="block">Returns if the source is still generting events</div>
+</dd>
 </dl>
 <a id="I:M">
 <!--   -->
@@ -326,31 +354,30 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dl>
 <dt><a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources"><span class="typeNameLink">MQTTXesSource</span></a> - Class in <a href="beamline/sources/package-summary.html">beamline.sources</a></dt>
 <dd>
-<div class="block">This implementation of a <a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events as they are
- observed in an MQTT-XES broker.</div>
+<div class="block">This implementation of a <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events as
+ they are observed in an MQTT-XES broker.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="beamline/sources/MQTTXesSource.html#%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)">MQTTXesSource(String, String, String)</a></span> - Constructor for class beamline.sources.<a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></dt>
 <dd>
 <div class="block">Constructs the source</div>
 </dd>
 </dl>
+<a id="I:O">
+<!--   -->
+</a>
+<h2 class="title">O</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#open(org.apache.flink.configuration.Configuration)">open(Configuration)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
+<dd>&nbsp;</dd>
+</dl>
 <a id="I:P">
 <!--   -->
 </a>
 <h2 class="title">P</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="beamline/sources/CSVLogSource.html#prepare()">prepare()</a></span> - Method in class beamline.sources.<a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/sources/MQTTXesSource.html#prepare()">prepare()</a></span> - Method in class beamline.sources.<a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/sources/Source.html#prepare()">prepare()</a></span> - Method in interface beamline.sources.<a href="beamline/sources/Source.html" title="interface in beamline.sources">Source</a></dt>
-<dd>
-<div class="block">This method is supposed to be called before the <a href="beamline/sources/Source.html#getObservable()"><code>Source.getObservable()</code></a>
- one: it is in charge of preparing the source to be processed.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="beamline/sources/XesLogSource.html#prepare()">prepare()</a></span> - Method in class beamline.sources.<a href="beamline/sources/XesLogSource.html" title="class in beamline.sources">XesLogSource</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/sources/CSVLogSource.ParserConfiguration.html#%3Cinit%3E()">ParserConfiguration()</a></span> - Constructor for class beamline.sources.<a href="beamline/sources/CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#process(T)">process(T)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#process(beamline.events.BEvent)">process(BEvent)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
 <dd>&nbsp;</dd>
 </dl>
 <a id="I:R">
@@ -358,10 +385,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </a>
 <h2 class="title">R</h2>
 <dl>
-<dt><a href="beamline/models/responses/Response.html" title="interface in beamline.models.responses"><span class="typeNameLink">Response</span></a> - Interface in <a href="beamline/models/responses/package-summary.html">beamline.models.responses</a></dt>
+<dt><a href="beamline/models/responses/Response.html" title="class in beamline.models.responses"><span class="typeNameLink">Response</span></a> - Class in <a href="beamline/models/responses/package-summary.html">beamline.models.responses</a></dt>
 <dd>
 <div class="block">Marker interface used to define the type of the responses</div>
 </dd>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/Response.html#%3Cinit%3E()">Response()</a></span> - Constructor for class beamline.models.responses.<a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="beamline/filters/RetainActivitiesFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainActivitiesFilter</span></a> - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
 <dd>
 <div class="block">A specific instance of the <a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><code>RetainOnEventAttributeEqualityFilter</code></a> that
@@ -371,7 +400,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Constructors</div>
 </dd>
-<dt><a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnCaseAttributeEqualityFilter</span></a>&lt;<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="type parameter in RetainOnCaseAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt; - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
+<dt><a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnCaseAttributeEqualityFilter</span></a>&lt;<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="type parameter in RetainOnCaseAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
 <dd>
 <div class="block">This filter retains events based on the equality of a certain trace
  attribute to a given set of values.</div>
@@ -380,7 +409,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Constructor</div>
 </dd>
-<dt><a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnEventAttributeEqualityFilter</span></a>&lt;<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="type parameter in RetainOnEventAttributeEqualityFilter">T</a> extends org.deckfour.xes.model.XAttribute&gt; - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
+<dt><a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnEventAttributeEqualityFilter</span></a>&lt;<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="type parameter in RetainOnEventAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; - Class in <a href="beamline/filters/package-summary.html">beamline.filters</a></dt>
 <dd>
 <div class="block">This filter retains events based on the equality of a certain event
  attribute to a given set of values.</div>
@@ -389,56 +418,81 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Constructor</div>
 </dd>
+<dt><span class="memberNameLink"><a href="beamline/sources/CSVLogSource.html#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run(SourceFunction.SourceContext&lt;BEvent&gt;)</a></span> - Method in class beamline.sources.<a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">CSVLogSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/sources/MQTTXesSource.html#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run(SourceFunction.SourceContext&lt;BEvent&gt;)</a></span> - Method in class beamline.sources.<a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources">MQTTXesSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/sources/StringTestSource.html#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run(SourceFunction.SourceContext&lt;BEvent&gt;)</a></span> - Method in class beamline.sources.<a href="beamline/sources/StringTestSource.html" title="class in beamline.sources">StringTestSource</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/sources/XesLogSource.html#run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)">run(SourceFunction.SourceContext&lt;BEvent&gt;)</a></span> - Method in class beamline.sources.<a href="beamline/sources/XesLogSource.html" title="class in beamline.sources">XesLogSource</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a id="I:S">
 <!--   -->
 </a>
 <h2 class="title">S</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#setLatestResponse(K)">setLatestResponse(K)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/StringResponse.html#set(java.lang.String)">set(String)</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses">StringResponse</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setEventAttribute(java.lang.String,java.io.Serializable)">setEventAttribute(String, Serializable)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setEventAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">setEventAttribute(String, XAttribute)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setEventName(java.lang.String)">setEventName(String)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setLogAttribute(java.lang.String,java.io.Serializable)">setLogAttribute(String, Serializable)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setLogAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">setLogAttribute(String, XAttribute)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/Response.html#setProcessedEvents(java.lang.Long)">setProcessedEvents(Long)</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setProcessName(java.lang.String)">setProcessName(String)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setTimestamp(java.util.Date)">setTimestamp(Date)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setTraceAttribute(java.lang.String,java.io.Serializable)">setTraceAttribute(String, Serializable)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setTraceAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)">setTraceAttribute(String, XAttribute)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#setTraceName(java.lang.String)">setTraceName(String)</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)">setOnAfterEvent(HookEventProcessing)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
-<dd>
-<div class="block">This method can be used to set a hook to a callback function to be
- executed after an event is processed</div>
-</dd>
-<dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)">setOnBeforeEvent(HookEventProcessing)</a></span> - Method in class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
-<dd>
-<div class="block">This method can be used to set a hook to a callback function to be
- executed before an event is processed</div>
-</dd>
-<dt><a href="beamline/sources/Source.html" title="interface in beamline.sources"><span class="typeNameLink">Source</span></a>&lt;<a href="beamline/sources/Source.html" title="type parameter in Source">T</a>&gt; - Interface in <a href="beamline/sources/package-summary.html">beamline.sources</a></dt>
-<dd>
-<div class="block">This interface is the base type that should be extended by all sources to be
- used in the framework.</div>
-</dd>
 <dt><a href="beamline/exceptions/SourceException.html" title="class in beamline.exceptions"><span class="typeNameLink">SourceException</span></a> - Exception in <a href="beamline/exceptions/package-summary.html">beamline.exceptions</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="beamline/exceptions/SourceException.html#%3Cinit%3E(java.lang.String)">SourceException(String)</a></span> - Constructor for exception beamline.exceptions.<a href="beamline/exceptions/SourceException.html" title="class in beamline.exceptions">SourceException</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><span class="typeNameLink">StreamMiningAlgorithm</span></a>&lt;<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a>,&#8203;<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">K</a>&gt; - Class in <a href="beamline/models/algorithms/package-summary.html">beamline.models.algorithms</a></dt>
+<dt><a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><span class="typeNameLink">StreamMiningAlgorithm</span></a>&lt;<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a> extends <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a>&gt; - Class in <a href="beamline/models/algorithms/package-summary.html">beamline.models.algorithms</a></dt>
 <dd>
 <div class="block">This abstract class defines the root of the mining algorithms hierarchy.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="beamline/models/algorithms/StreamMiningAlgorithm.html#%3Cinit%3E()">StreamMiningAlgorithm()</a></span> - Constructor for class beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses"><span class="typeNameLink">StringResponse</span></a> - Class in <a href="beamline/models/responses/package-summary.html">beamline.models.responses</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/StringResponse.html#%3Cinit%3E(java.lang.String)">StringResponse(String)</a></span> - Constructor for class beamline.models.responses.<a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses">StringResponse</a></dt>
+<dd>&nbsp;</dd>
+<dt><a href="beamline/sources/StringTestSource.html" title="class in beamline.sources"><span class="typeNameLink">StringTestSource</span></a> - Class in <a href="beamline/sources/package-summary.html">beamline.sources</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="beamline/sources/StringTestSource.html#%3Cinit%3E(java.lang.String...)">StringTestSource(String...)</a></span> - Constructor for class beamline.sources.<a href="beamline/sources/StringTestSource.html" title="class in beamline.sources">StringTestSource</a></dt>
+<dd>&nbsp;</dd>
 </dl>
 <a id="I:T">
 <!--   -->
 </a>
 <h2 class="title">T</h2>
 <dl>
-<dt><span class="memberNameLink"><a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html#test(org.deckfour.xes.model.XTrace)">test(XTrace)</a></span> - Method in class beamline.filters.<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnCaseAttributeEqualityFilter</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/events/BEvent.html#toString()">toString()</a></span> - Method in class beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html#test(org.deckfour.xes.model.XTrace)">test(XTrace)</a></span> - Method in class beamline.filters.<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a></dt>
+<dt><span class="memberNameLink"><a href="beamline/models/responses/StringResponse.html#toString()">toString()</a></span> - Method in class beamline.models.responses.<a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses">StringResponse</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html#test(org.deckfour.xes.model.XTrace)">test(XTrace)</a></span> - Method in class beamline.filters.<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnCaseAttributeEqualityFilter</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html#test(org.deckfour.xes.model.XTrace)">test(XTrace)</a></span> - Method in class beamline.filters.<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="beamline/models/algorithms/HookEventProcessing.html#trigger()">trigger()</a></span> - Method in interface beamline.models.algorithms.<a href="beamline/models/algorithms/HookEventProcessing.html" title="interface in beamline.models.algorithms">HookEventProcessing</a></dt>
+</dl>
+<a id="I:W">
+<!--   -->
+</a>
+<h2 class="title">W</h2>
+<dl>
+<dt><span class="memberNameLink"><a href="beamline/sources/CSVLogSource.ParserConfiguration.html#withSeparator(char)">withSeparator(char)</a></span> - Method in class beamline.sources.<a href="beamline/sources/CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a></dt>
 <dd>
-<div class="block">The actual function to trigger</div>
+<div class="block">Configures the fields separator</div>
 </dd>
 </dl>
 <a id="I:X">
@@ -448,8 +502,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dl>
 <dt><a href="beamline/sources/XesLogSource.html" title="class in beamline.sources"><span class="typeNameLink">XesLogSource</span></a> - Class in <a href="beamline/sources/package-summary.html">beamline.sources</a></dt>
 <dd>
-<div class="block">This implementation of a <a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><code>XesSource</code></a> produces events according to the
- events contained in an <code>XLog</code>.</div>
+<div class="block">This implementation of a <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources"><code>BeamlineAbstractSource</code></a> produces events
+ according to the events contained in an <code>XLog</code>.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="beamline/sources/XesLogSource.html#%3Cinit%3E(java.lang.String)">XesLogSource(String)</a></span> - Constructor for class beamline.sources.<a href="beamline/sources/XesLogSource.html" title="class in beamline.sources">XesLogSource</a></dt>
 <dd>
@@ -459,13 +513,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <dd>
 <div class="block">Constructs a source from the given log</div>
 </dd>
-<dt><a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><span class="typeNameLink">XesSource</span></a> - Interface in <a href="beamline/sources/package-summary.html">beamline.sources</a></dt>
-<dd>
-<div class="block">This interface is supposed just to bind the type of <a href="beamline/sources/Source.html" title="interface in beamline.sources"><code>Source</code></a> to
- <code>XTrace</code>.</div>
-</dd>
 </dl>
-<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:X">X</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></div>
+<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a href="#I:X">X</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a>&nbsp;<a href="allpackages-index.html">All&nbsp;Packages</a></div>
 </main>
 <footer role="contentinfo">
 <nav role="navigation">
diff --git a/index.html b/index.html
index 95aa90fecea25cec68a0427a11207535e0352ab9..d17bd906b8dcd908a9e6dc926f6613251de8ffb3 100644
--- a/index.html
+++ b/index.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Overview (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -105,20 +105,17 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </tr>
 <tbody>
 <tr class="altColor" id="i0">
-<th class="colFirst" scope="row"><a href="beamline/exceptions/package-summary.html">beamline.exceptions</a></th>
+<th class="colFirst" scope="row"><a href="beamline/events/package-summary.html">beamline.events</a></th>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor" id="i1">
-<th class="colFirst" scope="row"><a href="beamline/filters/package-summary.html">beamline.filters</a></th>
-<td class="colLast">
-<div class="block">This package contains some filters that are available by default in the
- framework.</div>
-</td>
+<th class="colFirst" scope="row"><a href="beamline/exceptions/package-summary.html">beamline.exceptions</a></th>
+<td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor" id="i2">
-<th class="colFirst" scope="row"><a href="beamline/mappers/package-summary.html">beamline.mappers</a></th>
+<th class="colFirst" scope="row"><a href="beamline/filters/package-summary.html">beamline.filters</a></th>
 <td class="colLast">
-<div class="block">This package contains some mappers that are available by default in the
+<div class="block">This package contains some filters that are available by default in the
  framework.</div>
 </td>
 </tr>
@@ -140,14 +137,8 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <th class="colFirst" scope="row"><a href="beamline/sources/package-summary.html">beamline.sources</a></th>
 <td class="colLast">
 <div class="block">This package contains all classes necessary to construct
- <code>Observable</code>s that can be used in the rest of
- the project.</div>
-</td>
-</tr>
-<tr class="altColor" id="i6">
-<th class="colFirst" scope="row"><a href="beamline/utils/package-summary.html">beamline.utils</a></th>
-<td class="colLast">
-<div class="block">This package contains utility classes to be used throughout the framework.</div>
+ <code>RichSourceFunction</code>s
+ that can be used in the rest of the project.</div>
 </td>
 </tr>
 </tbody>
diff --git a/member-search-index.js b/member-search-index.js
index 9a264d5ae7471bb5c3a547f6828fd0ac83ea177d..8d2abe3d396d534d0dadeb10f76c113d87cd48c2 100644
--- a/member-search-index.js
+++ b/member-search-index.js
@@ -1 +1 @@
-memberSearchIndex = [{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"accept(T)"},{"p":"beamline.filters","c":"ExcludeOnEventAttributeEqualityFilter","l":"addValue(T)"},{"p":"beamline.filters","c":"RetainOnEventAttributeEqualityFilter","l":"addValue(T)"},{"p":"beamline.mappers","c":"InfiniteSizeDirectlyFollowsMapper","l":"apply(XTrace)","url":"apply(org.deckfour.xes.model.XTrace)"},{"p":"beamline.utils","c":"EventUtils","l":"create(String, String, Date, Collection<Pair<String, String>>)","url":"create(java.lang.String,java.lang.String,java.util.Date,java.util.Collection)"},{"p":"beamline.utils","c":"EventUtils","l":"create(String, String, Date)","url":"create(java.lang.String,java.lang.String,java.util.Date)"},{"p":"beamline.utils","c":"EventUtils","l":"create(String, String)","url":"create(java.lang.String,java.lang.String)"},{"p":"beamline.sources","c":"CSVLogSource","l":"CSVLogSource(String, int, int, CSVParser)","url":"%3Cinit%3E(java.lang.String,int,int,com.opencsv.CSVParser)"},{"p":"beamline.sources","c":"CSVLogSource","l":"CSVLogSource(String, int, int)","url":"%3Cinit%3E(java.lang.String,int,int)"},{"p":"beamline.mappers","c":"DirectlyFollowsRelation","l":"DirectlyFollowsRelation(String, XEvent, XEvent)","url":"%3Cinit%3E(java.lang.String,org.deckfour.xes.model.XEvent,org.deckfour.xes.model.XEvent)"},{"p":"beamline.exceptions","c":"EventException","l":"EventException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"beamline.filters","c":"ExcludeActivitiesFilter","l":"ExcludeActivitiesFilter(String...)","url":"%3Cinit%3E(java.lang.String...)"},{"p":"beamline.filters","c":"ExcludeOnCaseAttributeEqualityFilter","l":"ExcludeOnCaseAttributeEqualityFilter(String, T...)","url":"%3Cinit%3E(java.lang.String,T...)"},{"p":"beamline.filters","c":"ExcludeOnEventAttributeEqualityFilter","l":"ExcludeOnEventAttributeEqualityFilter(String, T...)","url":"%3Cinit%3E(java.lang.String,T...)"},{"p":"beamline.models.responses","c":"GraphvizResponse","l":"generateDot()"},{"p":"beamline.utils","c":"EventUtils","l":"getActivityName(XTrace)","url":"getActivityName(org.deckfour.xes.model.XTrace)"},{"p":"beamline.mappers","c":"DirectlyFollowsRelation","l":"getCaseId()"},{"p":"beamline.utils","c":"EventUtils","l":"getCaseId(XTrace)","url":"getCaseId(org.deckfour.xes.model.XTrace)"},{"p":"beamline.mappers","c":"DirectlyFollowsRelation","l":"getFirst()"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"getLatestResponse()"},{"p":"beamline.sources","c":"CSVLogSource","l":"getObservable()"},{"p":"beamline.sources","c":"MQTTXesSource","l":"getObservable()"},{"p":"beamline.sources","c":"Source","l":"getObservable()"},{"p":"beamline.sources","c":"XesLogSource","l":"getObservable()"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"getProcessedEvents()"},{"p":"beamline.mappers","c":"DirectlyFollowsRelation","l":"getSecond()"},{"p":"beamline.mappers","c":"InfiniteSizeDirectlyFollowsMapper","l":"InfiniteSizeDirectlyFollowsMapper()","url":"%3Cinit%3E()"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"ingest(T)"},{"p":"beamline.sources","c":"MQTTXesSource","l":"MQTTXesSource(String, String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"beamline.sources","c":"CSVLogSource","l":"prepare()"},{"p":"beamline.sources","c":"MQTTXesSource","l":"prepare()"},{"p":"beamline.sources","c":"Source","l":"prepare()"},{"p":"beamline.sources","c":"XesLogSource","l":"prepare()"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"process(T)"},{"p":"beamline.filters","c":"RetainActivitiesFilter","l":"RetainActivitiesFilter(String...)","url":"%3Cinit%3E(java.lang.String...)"},{"p":"beamline.filters","c":"RetainOnCaseAttributeEqualityFilter","l":"RetainOnCaseAttributeEqualityFilter(String, T...)","url":"%3Cinit%3E(java.lang.String,T...)"},{"p":"beamline.filters","c":"RetainOnEventAttributeEqualityFilter","l":"RetainOnEventAttributeEqualityFilter(String, T...)","url":"%3Cinit%3E(java.lang.String,T...)"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"setLatestResponse(K)"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"setOnAfterEvent(HookEventProcessing)","url":"setOnAfterEvent(beamline.models.algorithms.HookEventProcessing)"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"setOnBeforeEvent(HookEventProcessing)","url":"setOnBeforeEvent(beamline.models.algorithms.HookEventProcessing)"},{"p":"beamline.exceptions","c":"SourceException","l":"SourceException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"StreamMiningAlgorithm()","url":"%3Cinit%3E()"},{"p":"beamline.filters","c":"ExcludeOnCaseAttributeEqualityFilter","l":"test(XTrace)","url":"test(org.deckfour.xes.model.XTrace)"},{"p":"beamline.filters","c":"ExcludeOnEventAttributeEqualityFilter","l":"test(XTrace)","url":"test(org.deckfour.xes.model.XTrace)"},{"p":"beamline.filters","c":"RetainOnCaseAttributeEqualityFilter","l":"test(XTrace)","url":"test(org.deckfour.xes.model.XTrace)"},{"p":"beamline.filters","c":"RetainOnEventAttributeEqualityFilter","l":"test(XTrace)","url":"test(org.deckfour.xes.model.XTrace)"},{"p":"beamline.models.algorithms","c":"HookEventProcessing","l":"trigger()"},{"p":"beamline.sources","c":"XesLogSource","l":"XesLogSource(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"beamline.sources","c":"XesLogSource","l":"XesLogSource(XLog)","url":"%3Cinit%3E(org.deckfour.xes.model.XLog)"}]
\ No newline at end of file
+memberSearchIndex = [{"p":"beamline.filters","c":"ExcludeOnEventAttributeEqualityFilter","l":"addValue(T)"},{"p":"beamline.filters","c":"RetainOnEventAttributeEqualityFilter","l":"addValue(T)"},{"p":"beamline.sources","c":"BeamlineAbstractSource","l":"BeamlineAbstractSource()","url":"%3Cinit%3E()"},{"p":"beamline.events","c":"BEvent","l":"BEvent()","url":"%3Cinit%3E()"},{"p":"beamline.sources","c":"BeamlineAbstractSource","l":"cancel()"},{"p":"beamline.events","c":"BEvent","l":"compareTo(BEvent)","url":"compareTo(beamline.events.BEvent)"},{"p":"beamline.events","c":"BEvent","l":"create(String, String, String, Date, Collection<Pair<String, String>>)","url":"create(java.lang.String,java.lang.String,java.lang.String,java.util.Date,java.util.Collection)"},{"p":"beamline.events","c":"BEvent","l":"create(String, String, String, Date)","url":"create(java.lang.String,java.lang.String,java.lang.String,java.util.Date)"},{"p":"beamline.events","c":"BEvent","l":"create(String, String, String)","url":"create(java.lang.String,java.lang.String,java.lang.String)"},{"p":"beamline.sources","c":"CSVLogSource","l":"CSVLogSource(String, int, int, CSVLogSource.ParserConfiguration)","url":"%3Cinit%3E(java.lang.String,int,int,beamline.sources.CSVLogSource.ParserConfiguration)"},{"p":"beamline.sources","c":"CSVLogSource","l":"CSVLogSource(String, int, int)","url":"%3Cinit%3E(java.lang.String,int,int)"},{"p":"beamline.models.responses","c":"DirectlyFollowsRelation","l":"DirectlyFollowsRelation(BEvent, BEvent)","url":"%3Cinit%3E(beamline.events.BEvent,beamline.events.BEvent)"},{"p":"beamline.events","c":"BEvent","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"beamline.models.responses","c":"DirectlyFollowsRelation","l":"equals(Object)","url":"equals(java.lang.Object)"},{"p":"beamline.exceptions","c":"EventException","l":"EventException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"beamline.filters","c":"ExcludeActivitiesFilter","l":"ExcludeActivitiesFilter(String...)","url":"%3Cinit%3E(java.lang.String...)"},{"p":"beamline.filters","c":"ExcludeOnCaseAttributeEqualityFilter","l":"ExcludeOnCaseAttributeEqualityFilter(String, T...)","url":"%3Cinit%3E(java.lang.String,T...)"},{"p":"beamline.filters","c":"ExcludeOnEventAttributeEqualityFilter","l":"ExcludeOnEventAttributeEqualityFilter(String, T...)","url":"%3Cinit%3E(java.lang.String,T...)"},{"p":"beamline.filters","c":"ExcludeOnCaseAttributeEqualityFilter","l":"filter(BEvent)","url":"filter(beamline.events.BEvent)"},{"p":"beamline.filters","c":"ExcludeOnEventAttributeEqualityFilter","l":"filter(BEvent)","url":"filter(beamline.events.BEvent)"},{"p":"beamline.filters","c":"RetainOnCaseAttributeEqualityFilter","l":"filter(BEvent)","url":"filter(beamline.events.BEvent)"},{"p":"beamline.filters","c":"RetainOnEventAttributeEqualityFilter","l":"filter(BEvent)","url":"filter(beamline.events.BEvent)"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"flatMap(BEvent, Collector<T>)","url":"flatMap(beamline.events.BEvent,org.apache.flink.util.Collector)"},{"p":"beamline.models.responses","c":"GraphvizResponse","l":"generateDot()"},{"p":"beamline.models.responses","c":"StringResponse","l":"get()"},{"p":"beamline.models.responses","c":"DirectlyFollowsRelation","l":"getCaseId()"},{"p":"beamline.events","c":"BEvent","l":"getEventAttributes()"},{"p":"beamline.events","c":"BEvent","l":"getEventName()"},{"p":"beamline.events","c":"BEvent","l":"getEventTime()"},{"p":"beamline.models.responses","c":"DirectlyFollowsRelation","l":"getFrom()"},{"p":"beamline.events","c":"BEvent","l":"getLogAttributes()"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"getProcessedEvents()"},{"p":"beamline.models.responses","c":"Response","l":"getProcessedEvents()"},{"p":"beamline.events","c":"BEvent","l":"getProcessName()"},{"p":"beamline.models.responses","c":"DirectlyFollowsRelation","l":"getTo()"},{"p":"beamline.events","c":"BEvent","l":"getTraceAttributes()"},{"p":"beamline.events","c":"BEvent","l":"getTraceName()"},{"p":"beamline.models.responses","c":"GraphvizResponse","l":"GraphvizResponse()","url":"%3Cinit%3E()"},{"p":"beamline.events","c":"BEvent","l":"hashCode()"},{"p":"beamline.models.responses","c":"DirectlyFollowsRelation","l":"hashCode()"},{"p":"beamline.models.algorithms","c":"InfiniteSizeDirectlyFollowsMapper","l":"InfiniteSizeDirectlyFollowsMapper()","url":"%3Cinit%3E()"},{"p":"beamline.models.algorithms","c":"InfiniteSizeDirectlyFollowsMapper","l":"ingest(BEvent)","url":"ingest(beamline.events.BEvent)"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"ingest(BEvent)","url":"ingest(beamline.events.BEvent)"},{"p":"beamline.sources","c":"BeamlineAbstractSource","l":"isRunning()"},{"p":"beamline.sources","c":"MQTTXesSource","l":"MQTTXesSource(String, String, String)","url":"%3Cinit%3E(java.lang.String,java.lang.String,java.lang.String)"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"open(Configuration)","url":"open(org.apache.flink.configuration.Configuration)"},{"p":"beamline.sources","c":"CSVLogSource.ParserConfiguration","l":"ParserConfiguration()","url":"%3Cinit%3E()"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"process(BEvent)","url":"process(beamline.events.BEvent)"},{"p":"beamline.models.responses","c":"Response","l":"Response()","url":"%3Cinit%3E()"},{"p":"beamline.filters","c":"RetainActivitiesFilter","l":"RetainActivitiesFilter(String...)","url":"%3Cinit%3E(java.lang.String...)"},{"p":"beamline.filters","c":"RetainOnCaseAttributeEqualityFilter","l":"RetainOnCaseAttributeEqualityFilter(String, T...)","url":"%3Cinit%3E(java.lang.String,T...)"},{"p":"beamline.filters","c":"RetainOnEventAttributeEqualityFilter","l":"RetainOnEventAttributeEqualityFilter(String, T...)","url":"%3Cinit%3E(java.lang.String,T...)"},{"p":"beamline.sources","c":"CSVLogSource","l":"run(SourceFunction.SourceContext<BEvent>)","url":"run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)"},{"p":"beamline.sources","c":"MQTTXesSource","l":"run(SourceFunction.SourceContext<BEvent>)","url":"run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)"},{"p":"beamline.sources","c":"StringTestSource","l":"run(SourceFunction.SourceContext<BEvent>)","url":"run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)"},{"p":"beamline.sources","c":"XesLogSource","l":"run(SourceFunction.SourceContext<BEvent>)","url":"run(org.apache.flink.streaming.api.functions.source.SourceFunction.SourceContext)"},{"p":"beamline.models.responses","c":"StringResponse","l":"set(String)","url":"set(java.lang.String)"},{"p":"beamline.events","c":"BEvent","l":"setEventAttribute(String, Serializable)","url":"setEventAttribute(java.lang.String,java.io.Serializable)"},{"p":"beamline.events","c":"BEvent","l":"setEventAttribute(String, XAttribute)","url":"setEventAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)"},{"p":"beamline.events","c":"BEvent","l":"setEventName(String)","url":"setEventName(java.lang.String)"},{"p":"beamline.events","c":"BEvent","l":"setLogAttribute(String, Serializable)","url":"setLogAttribute(java.lang.String,java.io.Serializable)"},{"p":"beamline.events","c":"BEvent","l":"setLogAttribute(String, XAttribute)","url":"setLogAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)"},{"p":"beamline.models.responses","c":"Response","l":"setProcessedEvents(Long)","url":"setProcessedEvents(java.lang.Long)"},{"p":"beamline.events","c":"BEvent","l":"setProcessName(String)","url":"setProcessName(java.lang.String)"},{"p":"beamline.events","c":"BEvent","l":"setTimestamp(Date)","url":"setTimestamp(java.util.Date)"},{"p":"beamline.events","c":"BEvent","l":"setTraceAttribute(String, Serializable)","url":"setTraceAttribute(java.lang.String,java.io.Serializable)"},{"p":"beamline.events","c":"BEvent","l":"setTraceAttribute(String, XAttribute)","url":"setTraceAttribute(java.lang.String,org.deckfour.xes.model.XAttribute)"},{"p":"beamline.events","c":"BEvent","l":"setTraceName(String)","url":"setTraceName(java.lang.String)"},{"p":"beamline.exceptions","c":"SourceException","l":"SourceException(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"beamline.models.algorithms","c":"StreamMiningAlgorithm","l":"StreamMiningAlgorithm()","url":"%3Cinit%3E()"},{"p":"beamline.models.responses","c":"StringResponse","l":"StringResponse(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"beamline.sources","c":"StringTestSource","l":"StringTestSource(String...)","url":"%3Cinit%3E(java.lang.String...)"},{"p":"beamline.events","c":"BEvent","l":"toString()"},{"p":"beamline.models.responses","c":"StringResponse","l":"toString()"},{"p":"beamline.sources","c":"CSVLogSource.ParserConfiguration","l":"withSeparator(char)"},{"p":"beamline.sources","c":"XesLogSource","l":"XesLogSource(String)","url":"%3Cinit%3E(java.lang.String)"},{"p":"beamline.sources","c":"XesLogSource","l":"XesLogSource(XLog)","url":"%3Cinit%3E(org.deckfour.xes.model.XLog)"}]
\ No newline at end of file
diff --git a/member-search-index.zip b/member-search-index.zip
index 2cc8c1bb8fe6adfa297a9b5a0591ebaec9dd90d4..bcf6857ebf6456ec6b4ed4ae759d237175df0328 100644
Binary files a/member-search-index.zip and b/member-search-index.zip differ
diff --git a/overview-summary.html b/overview-summary.html
index 3f2cfd30a86331d28e891c7de0f8d3c836316025..96acccc91405ff4508e5d8a4f6edc9cd0b145d16 100644
--- a/overview-summary.html
+++ b/overview-summary.html
@@ -2,7 +2,7 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>framework 0.1.0 API</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <script type="text/javascript">window.location.replace('index.html')</script>
diff --git a/overview-tree.html b/overview-tree.html
index 406f6f19333002a6e4e08f06453446228b126bd1..2003cfef8ce06a12ec1b4c4dfc18fc73e7a4eb46 100644
--- a/overview-tree.html
+++ b/overview-tree.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Class Hierarchy (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -97,13 +97,12 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <h1 class="title">Hierarchy For All Packages</h1>
 <span class="packageHierarchyLabel">Package Hierarchies:</span>
 <ul class="horizontal">
+<li><a href="beamline/events/package-tree.html">beamline.events</a>, </li>
 <li><a href="beamline/exceptions/package-tree.html">beamline.exceptions</a>, </li>
 <li><a href="beamline/filters/package-tree.html">beamline.filters</a>, </li>
-<li><a href="beamline/mappers/package-tree.html">beamline.mappers</a>, </li>
 <li><a href="beamline/models/algorithms/package-tree.html">beamline.models.algorithms</a>, </li>
 <li><a href="beamline/models/responses/package-tree.html">beamline.models.responses</a>, </li>
-<li><a href="beamline/sources/package-tree.html">beamline.sources</a>, </li>
-<li><a href="beamline/utils/package-tree.html">beamline.utils</a></li>
+<li><a href="beamline/sources/package-tree.html">beamline.sources</a></li>
 </ul>
 </div>
 <div class="contentContainer">
@@ -112,51 +111,62 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul>
 <li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Object</span></a>
 <ul>
-<li class="circle">beamline.sources.<a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources"><span class="typeNameLink">CSVLogSource</span></a> (implements beamline.sources.<a href="beamline/sources/XesSource.html" title="interface in beamline.sources">XesSource</a>)</li>
-<li class="circle">beamline.mappers.<a href="beamline/mappers/DirectlyFollowsRelation.html" title="class in beamline.mappers"><span class="typeNameLink">DirectlyFollowsRelation</span></a></li>
-<li class="circle">beamline.utils.<a href="beamline/utils/EventUtils.html" title="class in beamline.utils"><span class="typeNameLink">EventUtils</span></a></li>
-<li class="circle">beamline.filters.<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnCaseAttributeEqualityFilter</span></a>&lt;T&gt; (implements io.reactivex.rxjava3.functions.Predicate&lt;T&gt;)</li>
-<li class="circle">beamline.filters.<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnEventAttributeEqualityFilter</span></a>&lt;T&gt; (implements io.reactivex.rxjava3.functions.Predicate&lt;T&gt;)
+<li class="circle">org.apache.flink.api.common.functions.AbstractRichFunction (implements org.apache.flink.api.common.functions.RichFunction, java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)
 <ul>
-<li class="circle">beamline.filters.<a href="beamline/filters/ExcludeActivitiesFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeActivitiesFilter</span></a></li>
+<li class="circle">org.apache.flink.api.common.functions.RichFlatMapFunction&lt;IN,&#8203;OUT&gt; (implements org.apache.flink.api.common.functions.FlatMapFunction&lt;T,&#8203;O&gt;)
+<ul>
+<li class="circle">beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><span class="typeNameLink">StreamMiningAlgorithm</span></a>&lt;T&gt;
+<ul>
+<li class="circle">beamline.models.algorithms.<a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms"><span class="typeNameLink">InfiniteSizeDirectlyFollowsMapper</span></a></li>
 </ul>
 </li>
-<li class="circle">beamline.mappers.<a href="beamline/mappers/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.mappers"><span class="typeNameLink">InfiniteSizeDirectlyFollowsMapper</span></a> (implements io.reactivex.rxjava3.functions.Function&lt;T,&#8203;R&gt;)</li>
-<li class="circle">beamline.sources.<a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources"><span class="typeNameLink">MQTTXesSource</span></a> (implements beamline.sources.<a href="beamline/sources/XesSource.html" title="interface in beamline.sources">XesSource</a>)</li>
-<li class="circle">beamline.filters.<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnCaseAttributeEqualityFilter</span></a>&lt;T&gt; (implements io.reactivex.rxjava3.functions.Predicate&lt;T&gt;)</li>
-<li class="circle">beamline.filters.<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnEventAttributeEqualityFilter</span></a>&lt;T&gt; (implements io.reactivex.rxjava3.functions.Predicate&lt;T&gt;)
-<ul>
-<li class="circle">beamline.filters.<a href="beamline/filters/RetainActivitiesFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainActivitiesFilter</span></a></li>
 </ul>
 </li>
-<li class="circle">beamline.models.algorithms.<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms"><span class="typeNameLink">StreamMiningAlgorithm</span></a>&lt;T,&#8203;K&gt; (implements io.reactivex.rxjava3.functions.Consumer&lt;T&gt;)</li>
-<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)
+<li class="circle">org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;OUT&gt; (implements org.apache.flink.streaming.api.functions.source.SourceFunction&lt;T&gt;)
 <ul>
-<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Exception</span></a>
+<li class="circle">beamline.sources.<a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources"><span class="typeNameLink">BeamlineAbstractSource</span></a>
 <ul>
-<li class="circle">beamline.exceptions.<a href="beamline/exceptions/EventException.html" title="class in beamline.exceptions"><span class="typeNameLink">EventException</span></a></li>
-<li class="circle">beamline.exceptions.<a href="beamline/exceptions/SourceException.html" title="class in beamline.exceptions"><span class="typeNameLink">SourceException</span></a></li>
+<li class="circle">beamline.sources.<a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources"><span class="typeNameLink">CSVLogSource</span></a></li>
+<li class="circle">beamline.sources.<a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources"><span class="typeNameLink">MQTTXesSource</span></a></li>
+<li class="circle">beamline.sources.<a href="beamline/sources/StringTestSource.html" title="class in beamline.sources"><span class="typeNameLink">StringTestSource</span></a></li>
+<li class="circle">beamline.sources.<a href="beamline/sources/XesLogSource.html" title="class in beamline.sources"><span class="typeNameLink">XesLogSource</span></a></li>
 </ul>
 </li>
 </ul>
 </li>
-<li class="circle">beamline.sources.<a href="beamline/sources/XesLogSource.html" title="class in beamline.sources"><span class="typeNameLink">XesLogSource</span></a> (implements beamline.sources.<a href="beamline/sources/XesSource.html" title="interface in beamline.sources">XesSource</a>)</li>
 </ul>
 </li>
+<li class="circle">beamline.events.<a href="beamline/events/BEvent.html" title="class in beamline.events"><span class="typeNameLink">BEvent</span></a> (implements java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Comparable</a>&lt;T&gt;, java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)</li>
+<li class="circle">beamline.sources.<a href="beamline/sources/CSVLogSource.ParserConfiguration.html" title="class in beamline.sources"><span class="typeNameLink">CSVLogSource.ParserConfiguration</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)</li>
+<li class="circle">beamline.filters.<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnCaseAttributeEqualityFilter</span></a>&lt;T&gt; (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)</li>
+<li class="circle">beamline.filters.<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeOnEventAttributeEqualityFilter</span></a>&lt;T&gt; (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)
+<ul>
+<li class="circle">beamline.filters.<a href="beamline/filters/ExcludeActivitiesFilter.html" title="class in beamline.filters"><span class="typeNameLink">ExcludeActivitiesFilter</span></a></li>
 </ul>
-</section>
-<section role="region">
-<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
+</li>
+<li class="circle">beamline.models.responses.<a href="beamline/models/responses/Response.html" title="class in beamline.models.responses"><span class="typeNameLink">Response</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)
 <ul>
-<li class="circle">beamline.models.algorithms.<a href="beamline/models/algorithms/HookEventProcessing.html" title="interface in beamline.models.algorithms"><span class="typeNameLink">HookEventProcessing</span></a></li>
-<li class="circle">beamline.models.responses.<a href="beamline/models/responses/Response.html" title="interface in beamline.models.responses"><span class="typeNameLink">Response</span></a>
+<li class="circle">beamline.models.responses.<a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses"><span class="typeNameLink">DirectlyFollowsRelation</span></a></li>
+<li class="circle">beamline.models.responses.<a href="beamline/models/responses/GraphvizResponse.html" title="class in beamline.models.responses"><span class="typeNameLink">GraphvizResponse</span></a></li>
+<li class="circle">beamline.models.responses.<a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses"><span class="typeNameLink">StringResponse</span></a></li>
+</ul>
+</li>
+<li class="circle">beamline.filters.<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnCaseAttributeEqualityFilter</span></a>&lt;T&gt; (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)</li>
+<li class="circle">beamline.filters.<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainOnEventAttributeEqualityFilter</span></a>&lt;T&gt; (implements org.apache.flink.api.common.functions.FilterFunction&lt;T&gt;)
 <ul>
-<li class="circle">beamline.models.responses.<a href="beamline/models/responses/GraphvizResponse.html" title="interface in beamline.models.responses"><span class="typeNameLink">GraphvizResponse</span></a></li>
+<li class="circle">beamline.filters.<a href="beamline/filters/RetainActivitiesFilter.html" title="class in beamline.filters"><span class="typeNameLink">RetainActivitiesFilter</span></a></li>
 </ul>
 </li>
-<li class="circle">beamline.sources.<a href="beamline/sources/Source.html" title="interface in beamline.sources"><span class="typeNameLink">Source</span></a>&lt;T&gt;
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Throwable</span></a> (implements java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>)
+<ul>
+<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink"><span class="typeNameLink">Exception</span></a>
 <ul>
-<li class="circle">beamline.sources.<a href="beamline/sources/XesSource.html" title="interface in beamline.sources"><span class="typeNameLink">XesSource</span></a></li>
+<li class="circle">beamline.exceptions.<a href="beamline/exceptions/EventException.html" title="class in beamline.exceptions"><span class="typeNameLink">EventException</span></a></li>
+<li class="circle">beamline.exceptions.<a href="beamline/exceptions/SourceException.html" title="class in beamline.exceptions"><span class="typeNameLink">SourceException</span></a></li>
+</ul>
+</li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>
diff --git a/package-search-index.js b/package-search-index.js
index 9567a26bbd04d4771e913d12bd0055f55ac34d9d..1114d68605bcd10e4bd79752b640f575cf11b5a7 100644
--- a/package-search-index.js
+++ b/package-search-index.js
@@ -1 +1 @@
-packageSearchIndex = [{"l":"All Packages","url":"allpackages-index.html"},{"l":"beamline.exceptions"},{"l":"beamline.filters"},{"l":"beamline.mappers"},{"l":"beamline.models.algorithms"},{"l":"beamline.models.responses"},{"l":"beamline.sources"},{"l":"beamline.utils"}]
\ No newline at end of file
+packageSearchIndex = [{"l":"All Packages","url":"allpackages-index.html"},{"l":"beamline.events"},{"l":"beamline.exceptions"},{"l":"beamline.filters"},{"l":"beamline.models.algorithms"},{"l":"beamline.models.responses"},{"l":"beamline.sources"}]
\ No newline at end of file
diff --git a/package-search-index.zip b/package-search-index.zip
index efdb9bb0f4b27183f423c1bb5bbb246601fdd6f1..b8aee629c318b57239bdbb8574e12914c6c921b8 100644
Binary files a/package-search-index.zip and b/package-search-index.zip differ
diff --git a/serialized-form.html b/serialized-form.html
index fcb130ae0db012c7b213db7ce3e766b8900cba20..cd91ea057ec8d36e76817ab6dcfa84a6644cbc5f 100644
--- a/serialized-form.html
+++ b/serialized-form.html
@@ -2,10 +2,10 @@
 <!-- NewPage -->
 <html lang="en">
 <head>
-<!-- Generated by javadoc (11.0.11) on Thu Mar 17 13:46:00 UTC 2022 -->
+<!-- Generated by javadoc (11.0.11) on Fri Mar 25 19:30:20 UTC 2022 -->
 <title>Serialized Form (framework 0.1.0 API)</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="dc.created" content="2022-03-17">
+<meta name="dc.created" content="2022-03-25">
 <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
 <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
 <script type="text/javascript" src="script.js"></script>
@@ -100,6 +100,41 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 <ul class="blockList">
 <li class="blockList">
 <section role="region">
+<h2 title="Package">Package&nbsp;beamline.events</h2>
+<ul class="blockList">
+<li class="blockList"><a id="beamline.events.BEvent">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/events/BEvent.html" title="class in beamline.events">beamline.events.BEvent</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-7300189277034528917L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>eventAttributes</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; eventAttributes</pre>
+</li>
+<li class="blockList">
+<h4>logAttributes</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; logAttributes</pre>
+</li>
+<li class="blockListLast">
+<h4>traceAttributes</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; traceAttributes</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+<li class="blockList">
+<section role="region">
 <h2 title="Package">Package&nbsp;beamline.exceptions</h2>
 <ul class="blockList">
 <li class="blockList"><a id="beamline.exceptions.EventException">
@@ -123,6 +158,390 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
 </ul>
 </section>
 </li>
+<li class="blockList">
+<section role="region">
+<h2 title="Package">Package&nbsp;beamline.filters</h2>
+<ul class="blockList">
+<li class="blockList"><a id="beamline.filters.ExcludeActivitiesFilter">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/filters/ExcludeActivitiesFilter.html" title="class in beamline.filters">beamline.filters.ExcludeActivitiesFilter</a> extends <a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">ExcludeOnEventAttributeEqualityFilter</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-5319332746992005641L</dd>
+</dl>
+</li>
+<li class="blockList"><a id="beamline.filters.ExcludeOnCaseAttributeEqualityFilter">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">beamline.filters.ExcludeOnCaseAttributeEqualityFilter</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>371257881178171433L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>attributeName</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> attributeName</pre>
+</li>
+<li class="blockListLast">
+<h4>attributeValues</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="beamline/filters/ExcludeOnCaseAttributeEqualityFilter.html" title="type parameter in ExcludeOnCaseAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; attributeValues</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.filters.ExcludeOnEventAttributeEqualityFilter">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="class in beamline.filters">beamline.filters.ExcludeOnEventAttributeEqualityFilter</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1193680203608634150L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>attributeName</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> attributeName</pre>
+</li>
+<li class="blockListLast">
+<h4>attributeValues</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="beamline/filters/ExcludeOnEventAttributeEqualityFilter.html" title="type parameter in ExcludeOnEventAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; attributeValues</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.filters.RetainActivitiesFilter">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/filters/RetainActivitiesFilter.html" title="class in beamline.filters">beamline.filters.RetainActivitiesFilter</a> extends <a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">RetainOnEventAttributeEqualityFilter</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>102039300555271213L</dd>
+</dl>
+</li>
+<li class="blockList"><a id="beamline.filters.RetainOnCaseAttributeEqualityFilter">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="class in beamline.filters">beamline.filters.RetainOnCaseAttributeEqualityFilter</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1225284800265650317L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>attributeName</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> attributeName</pre>
+</li>
+<li class="blockListLast">
+<h4>attributeValues</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="beamline/filters/RetainOnCaseAttributeEqualityFilter.html" title="type parameter in RetainOnCaseAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; attributeValues</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.filters.RetainOnEventAttributeEqualityFilter">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="class in beamline.filters">beamline.filters.RetainOnEventAttributeEqualityFilter</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>-720485056040728235L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>attributeName</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> attributeName</pre>
+</li>
+<li class="blockListLast">
+<h4>attributeValues</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html?is-external=true" title="class or interface in java.util" class="externalLink">Set</a>&lt;<a href="beamline/filters/RetainOnEventAttributeEqualityFilter.html" title="type parameter in RetainOnEventAttributeEqualityFilter">T</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a>&gt; attributeValues</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+<li class="blockList">
+<section role="region">
+<h2 title="Package">Package&nbsp;beamline.models.algorithms</h2>
+<ul class="blockList">
+<li class="blockList"><a id="beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/models/algorithms/InfiniteSizeDirectlyFollowsMapper.html" title="class in beamline.models.algorithms">beamline.models.algorithms.InfiniteSizeDirectlyFollowsMapper</a> extends <a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">StreamMiningAlgorithm</a>&lt;<a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">DirectlyFollowsRelation</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>9114527510820073110L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>map</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a>&gt; map</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.models.algorithms.StreamMiningAlgorithm">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="class in beamline.models.algorithms">beamline.models.algorithms.StreamMiningAlgorithm</a> extends org.apache.flink.api.common.functions.RichFlatMapFunction&lt;<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;<a href="beamline/models/algorithms/StreamMiningAlgorithm.html" title="type parameter in StreamMiningAlgorithm">T</a> extends <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>10170817098305999L</dd>
+</dl>
+</li>
+</ul>
+</section>
+</li>
+<li class="blockList">
+<section role="region">
+<h2 title="Package">Package&nbsp;beamline.models.responses</h2>
+<ul class="blockList">
+<li class="blockList"><a id="beamline.models.responses.DirectlyFollowsRelation">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/models/responses/DirectlyFollowsRelation.html" title="class in beamline.models.responses">beamline.models.responses.DirectlyFollowsRelation</a> extends <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1775695752885219490L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>pair</h4>
+<pre>org.apache.commons.lang3.tuple.Pair&lt;<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a>,&#8203;<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a>&gt; pair</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.models.responses.GraphvizResponse">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/models/responses/GraphvizResponse.html" title="class in beamline.models.responses">beamline.models.responses.GraphvizResponse</a> extends <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>7232727657074096321L</dd>
+</dl>
+</li>
+<li class="blockList"><a id="beamline.models.responses.Response">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">beamline.models.responses.Response</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>3104314256198741100L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>processedEvents</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Long.html?is-external=true" title="class or interface in java.lang" class="externalLink">Long</a> processedEvents</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.models.responses.StringResponse">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/models/responses/StringResponse.html" title="class in beamline.models.responses">beamline.models.responses.StringResponse</a> extends <a href="beamline/models/responses/Response.html" title="class in beamline.models.responses">Response</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>7863665787098981704L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>str</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> str</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
+<li class="blockList">
+<section role="region">
+<h2 title="Package">Package&nbsp;beamline.sources</h2>
+<ul class="blockList">
+<li class="blockList"><a id="beamline.sources.BeamlineAbstractSource">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">beamline.sources.BeamlineAbstractSource</a> extends org.apache.flink.streaming.api.functions.source.RichSourceFunction&lt;<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a>&gt; implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1072198158533070679L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>running</h4>
+<pre>boolean running</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.sources.CSVLogSource">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/sources/CSVLogSource.html" title="class in beamline.sources">beamline.sources.CSVLogSource</a> extends <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>205574514393782145L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>activityNameColumn</h4>
+<pre>int activityNameColumn</pre>
+</li>
+<li class="blockList">
+<h4>caseIdColumn</h4>
+<pre>int caseIdColumn</pre>
+</li>
+<li class="blockList">
+<h4>filename</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> filename</pre>
+</li>
+<li class="blockListLast">
+<h4>parserConfiguration</h4>
+<pre><a href="beamline/sources/CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">CSVLogSource.ParserConfiguration</a> parserConfiguration</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.sources.CSVLogSource.ParserConfiguration">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/sources/CSVLogSource.ParserConfiguration.html" title="class in beamline.sources">beamline.sources.CSVLogSource.ParserConfiguration</a> extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>375203248074405954L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>separator</h4>
+<pre>char separator</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.sources.MQTTXesSource">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/sources/MQTTXesSource.html" title="class in beamline.sources">beamline.sources.MQTTXesSource</a> extends <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>7849358403852399322L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>brokerHost</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> brokerHost</pre>
+</li>
+<li class="blockList">
+<h4>processName</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> processName</pre>
+</li>
+<li class="blockListLast">
+<h4>topicBase</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> topicBase</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.sources.StringTestSource">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/sources/StringTestSource.html" title="class in beamline.sources">beamline.sources.StringTestSource</a> extends <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>7657971352128040279L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockListLast">
+<h4>traces</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[] traces</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="blockList"><a id="beamline.sources.XesLogSource">
+<!--   -->
+</a>
+<h3>Class <a href="beamline/sources/XesLogSource.html" title="class in beamline.sources">beamline.sources.XesLogSource</a> extends <a href="beamline/sources/BeamlineAbstractSource.html" title="class in beamline.sources">BeamlineAbstractSource</a> implements Serializable</h3>
+<dl class="nameValue">
+<dt>serialVersionUID:</dt>
+<dd>1095855454671335981L</dd>
+</dl>
+<ul class="blockList">
+<li class="blockList">
+<h3>Serialized Fields</h3>
+<ul class="blockList">
+<li class="blockList">
+<h4>events</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html?is-external=true" title="class or interface in java.util" class="externalLink">List</a>&lt;<a href="beamline/events/BEvent.html" title="class in beamline.events">BEvent</a>&gt; events</pre>
+</li>
+<li class="blockListLast">
+<h4>fileName</h4>
+<pre><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a> fileName</pre>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</section>
+</li>
 </ul>
 </div>
 </main>
diff --git a/type-search-index.js b/type-search-index.js
index fec1b0f361ea466e0cc5a303fa97e009cea90c2a..c21fd21569e0190124f586554c57e522ab10bc08 100644
--- a/type-search-index.js
+++ b/type-search-index.js
@@ -1 +1 @@
-typeSearchIndex = [{"l":"All Classes","url":"allclasses-index.html"},{"p":"beamline.sources","l":"CSVLogSource"},{"p":"beamline.mappers","l":"DirectlyFollowsRelation"},{"p":"beamline.exceptions","l":"EventException"},{"p":"beamline.utils","l":"EventUtils"},{"p":"beamline.filters","l":"ExcludeActivitiesFilter"},{"p":"beamline.filters","l":"ExcludeOnCaseAttributeEqualityFilter"},{"p":"beamline.filters","l":"ExcludeOnEventAttributeEqualityFilter"},{"p":"beamline.models.responses","l":"GraphvizResponse"},{"p":"beamline.models.algorithms","l":"HookEventProcessing"},{"p":"beamline.mappers","l":"InfiniteSizeDirectlyFollowsMapper"},{"p":"beamline.sources","l":"MQTTXesSource"},{"p":"beamline.models.responses","l":"Response"},{"p":"beamline.filters","l":"RetainActivitiesFilter"},{"p":"beamline.filters","l":"RetainOnCaseAttributeEqualityFilter"},{"p":"beamline.filters","l":"RetainOnEventAttributeEqualityFilter"},{"p":"beamline.sources","l":"Source"},{"p":"beamline.exceptions","l":"SourceException"},{"p":"beamline.models.algorithms","l":"StreamMiningAlgorithm"},{"p":"beamline.sources","l":"XesLogSource"},{"p":"beamline.sources","l":"XesSource"}]
\ No newline at end of file
+typeSearchIndex = [{"l":"All Classes","url":"allclasses-index.html"},{"p":"beamline.sources","l":"BeamlineAbstractSource"},{"p":"beamline.events","l":"BEvent"},{"p":"beamline.sources","l":"CSVLogSource"},{"p":"beamline.models.responses","l":"DirectlyFollowsRelation"},{"p":"beamline.exceptions","l":"EventException"},{"p":"beamline.filters","l":"ExcludeActivitiesFilter"},{"p":"beamline.filters","l":"ExcludeOnCaseAttributeEqualityFilter"},{"p":"beamline.filters","l":"ExcludeOnEventAttributeEqualityFilter"},{"p":"beamline.models.responses","l":"GraphvizResponse"},{"p":"beamline.models.algorithms","l":"InfiniteSizeDirectlyFollowsMapper"},{"p":"beamline.sources","l":"MQTTXesSource"},{"p":"beamline.sources","l":"CSVLogSource.ParserConfiguration"},{"p":"beamline.models.responses","l":"Response"},{"p":"beamline.filters","l":"RetainActivitiesFilter"},{"p":"beamline.filters","l":"RetainOnCaseAttributeEqualityFilter"},{"p":"beamline.filters","l":"RetainOnEventAttributeEqualityFilter"},{"p":"beamline.exceptions","l":"SourceException"},{"p":"beamline.models.algorithms","l":"StreamMiningAlgorithm"},{"p":"beamline.models.responses","l":"StringResponse"},{"p":"beamline.sources","l":"StringTestSource"},{"p":"beamline.sources","l":"XesLogSource"}]
\ No newline at end of file
diff --git a/type-search-index.zip b/type-search-index.zip
index e70032a6175b3300471a03dea0beaa341764e173..84794659326366f5fa0fda1be41529d0573cdd4a 100644
Binary files a/type-search-index.zip and b/type-search-index.zip differ