Move JSON parsing to CustomParticleFactory.
Added custom reactions. Resolves #16.