Adds preliminary functionality for adding items.
Resolves #2
Resolves #3
Resolves #7
Resolves #11
Resolves #14