Added _OptionalAttributes class. More refactoring and renaming. More to come\!