Improving look and feel and testability
Refactoring to support e2e testing. Added first endToEnd test.