First cut of the modal service, still need to set up some decent samples, tests, error cases and build