Add documentation
Add tests for #[] and #[]=
Don't check for method definition on each call