Resolve "Usage of c-templates for different register-data types"
Closes #15 (closed)
Instead of templating the complete class and having to deal with all the child classes, instead added templated member functions which simplifies the solution.
Should be merged and reviewed after !40 (merged) & !41 (merged) since it contains the changes from those MRs.