WIP - First implementation

***
The commits in this branch will be cleaned up in time and likely stashed to a single coherent change-set