[functions.soe10] major rewrite

Removed code duplication and put all functionality in one base class.
[functions] updated spe10 name