refactor context.AttributeArray methods, add StreamAttributeArray and DynamicAttributeArray