Added HardwarePool singleton.

Working on #5. Still need to add support for Compressor