Add 2 delivery mechanisms: console and web. Some refactorings.