Vivint Interview Question

OOP abstraction best practices