refactored code base to use an interface instead of events for faces