Big refactor with subscription support and rich domain objects that implement the Apruve REST API