Add support for function callbacks to Package.

The Package constructor can now accept function callbacks for
initializing the newly constructed package object. This will
better allows us to create build scripts in the future.