How can I make a Blueprint Interface not Read-Only?

Generally you make a base class for all items, which has event for On Pick Up for example and you create Item blueprint out of that base class where you override that event. If you have variable Item, it can hold any object with based from Item class and you can call functions and events defined in base class, invidual Item can override default code in base class if it wants extra code in it (but as i know Events are better to override then Functions in blueprint). Thats the basis class inherence, Interface is that extra feature when you want to relate unrelated classes for example Item Class with YourGamePawn, for some reason if you like.

Heres my tutorial about classes and objects and how they are relate each other:

Note that no other objects from engine code use interfaces as default means of communication, and they been rarely used in UnrealScript which they been introduced in UE3. For some reason blueprints made people think that Interface is main way of communication between objects in UE4.