There is an optional board param than may be passed in the constructor opts for all device classes. Simply put, it allows the user to specify which board they want to use in projects that have multiple boards. It is currently not documented anywhere and should probably be added to all the classes.
Currently our build/test commands are entered directly in .travis.yml. These should be split out into standalone scripts in the scripts directory. This allows developers to build and test changes independently before pull requests are submitted.