F/OSS:  Introduce logic for some constraints.

 - Updating and cleanup of Singleton pattern.
 - Introduced constrains enforcement for field visiblity and empty
   field for structs.

Change-Id: I680df6e7723766901930cc79c870fd4c23b50752