Added el property, return types, and documentation

The `el` property was missing from the definition, even thought it was referenced in the tests file. I also added return types and documentation from the official library.