Renamed factory methods to be less cryptic and updated javadocs
Converted some profile methods to use dataset factory and allowed a mask
to be a dataset