Re factored membership service, decided all validation and constraints take place in services vs data layer as data layer should be interchangeable.