#28 add topic validator, service, controller, route. Also introduce unit test with mock http backend