Convert to new HeldCore system + code refactor