Implement OProperty attribute to allow flagging of generic class properties with custom attributes.
Rename command to query since it's idempotent so far.
ORecord support for casting to generic object.
Change access modifiers to internal.
Minor refactoring.