- generate documentation for methods generated by JSONAttrivbutes
- length restrictions for atts
- Paginated results and iterators
- Waiters (methods that wait for an object to be in a determined state)
- Retrying
- Handle StrToObj Maps in JSON, REST*, EC2 (if appliable) API Builders
- Exception handling
  - Manage 'return' value from
    - ec2-assign-private-ip-addresses.xml
    - ec2-associate-address.xml
    - ... lot's more in EC2 API ...
- JSON callers
  - when a boolean is returned from API, it doesn't get properly handed to 
    result objects (error thrown)
- rest-xml callers for rest-xml services
- json-xml callers for json-xml services
- enums for results may be too strict. If AWS returns something new, an exception
  is raised
- enums should be validated when calling, and not validating when being returned from
  APIs
- Objects that can ->Delete, or ->Update, calling service->Update(Id => ...)
- Build classes at runtime?
- ResultParser and UnwrappedParser can maybe be fusioned. They're almost the same 
- Validate Enums when passing params
- for RDS and RedShift lists: adapt code so that botocore jsons don't have to be changed
- Find a way to attach extra roles to specific classes so that we can extend the "standard"
  behaviour of some classes like:
  - CloudFormation::GetTemplateResult: add a lazy accessor that converts the TemplateBody to a 
    datastructure so it can be treated as a hashref. adjust 
    t/10_responses/cloudformation-get-template.xml.test.yml accordingly
    - Accomplishable with AttributeTraits that install an extra method that decodes the json Str: http://www.perlmonks.org/?node_id=948231
  - Policies in IAM objects 
    - Policies are url encoded texts. They have to be un-url-encoded before exposing to the user
      - Would like that the accessor gets the JSON un url-encoded, and then have an extra accessor to access the decoded datastructure
      - CreateRole, GetGroupPolicyResult, GetRolePolicyResult, GetUserPolicyResult, Role
