Enhancement/list view

Fixes and all commits purged into a single one.
This is overly complex, this method should only be called with a valid view, so there should be no need to check before casting etc...