Minor changes for throwing exceptions and now components support logging