Reverted Optional-as-a-struct (for now)

- Added more tests and decoupling from the aggregate root entity
instance towards reference types/value types
- Reverted the optional-as-a-struct notion (for now).
Restored the Optional-as-a-struct

Less is more (cutting code).