Added base "id" property.
Added type-hinting to properties and functions.