refactor context as an interface
removing services since it is half baked and makes no sense in the context of using interfaces.