Added custom exception, expanded plug.supply, added .ready methods for both socket and plug