Some pretty major refactoring, incorporating events for sensor updates... added device class to manage devices on a top layer.