public void  AddElementToWorld <TElement>(TElement element) where TElement : IHasLocation
        {
            var wrapper = new ElementWrapper <TElement> {
                Element = element
            };

            WorldElements.Add(wrapper);
            wrapper.PositionInWorld = DeterminePositionInWorld(element);
            //wrapper.PositionInWorld;
        }
 public IEnumerable <IWorldElement <TElement> > ElementsInWorld <TElement>()  where TElement : IHasLocation
 {
     return(WorldElements.OfType <IWorldElement <TElement> >().ToArray());
 }