[opf] removing abstract and raising an exception on optional methods.
[tests] moving test class to the top of the unit.
[opf] storage of shared lists