@StupidCodeFactory - We couldn't have replaced the `Core` namespace with `Frontend`. The whole point is that everything inside `Core` is completely agnostic to the fact it is being used by the frontend application. The frontend application depends on `Core`, `Core` does not depend on the frontend application. By placing `Core` in the lib we are essentially earmarking it to be extracted in the future without introducing the overhead of managing that dependency now.

@pmanrubia - This is work in progress, something new that we haven't attempted before. To my mind the key thing here is we are trying to be very deliberate about separating our concerns and dividing the software into layers. We want to prove our design here then hopefully look to increase it's dependees.