I know you don't like having a bunch of private methods in an object.  I don't really like it either...  One thing I've done in my personal projects is to create a private.cfm file and include that in the implicit constructor for an object.  For example.

rb.cfc is the object
rb_private.cfm are the private methods for rb.cfc

in rb.cfc

component {
  include "rb_private.cfm";
  function init(){
   return this;
  }
  ...

}

this hides the implementation details of the private methods so that when you look at the component you are looking at the api of the object.