work on rewriting collection class to support access with dot-notation
rewrite of collection type does not use ArrayObject as parent class and supports changing of iterator class, access by dot-notation and provides some other additional improvements
added callable type hint