It is currently awkward to define the boundary
functions and use the index functionality. Reusing
previously defined boundary functions is difficult. One
has to create a class instance for each time that they
will be used for.
We need a more generic way of defining the boundary
functions, which is separate from the process of adding
them into the simulator's engine. This would increase
reusability