Introduce direct object storage in fields of special classes to avoid indirection of array

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Move getSOMClass to SObject to avoid polymorphic calls

Signed-off-by: Stefan Marr <git@stefan-marr.de>
Change design to have just one class and an extension array

Signed-off-by: Stefan Marr <git@stefan-marr.de>