added a static factory for getting a powerdown object, moved board specific code in its own class, updated example