Basic system design questions for a big project - Theo's Typesafe Cult